SQL Server的GRANT用法簡(jiǎn)介
SQL Server 2000的GRANT語(yǔ)句用于向用戶、角色和組授予使用數(shù)據(jù)庫(kù)對(duì)象以及運(yùn)行某些存儲(chǔ)過程和函數(shù)的權(quán)限。
GRANT的語(yǔ)法非常簡(jiǎn)單——雖然它是SQL Server 2000中功能最強(qiáng)大的語(yǔ)句之一。下面的例子授予皮特(Pete)對(duì)pubs數(shù)據(jù)庫(kù)中的authors表進(jìn)行 INSERT、UPDATE和DELETE的權(quán)限。WITH GRANT OPTION表示皮特也可以用這些語(yǔ)句來向其它用戶授權(quán)。USE pubs
GO
GRANT INSERT, UPDATE, DELETE
ON authors
TO Pete
WITH GRANT OPTION
GO
你也可以授予皮特ALL權(quán)限,這樣他還可以使用CREATE DATABASE、CREATE FUNCTION、CREATE RULE、CREATE TABLE、BACKUP DATABASE以及其它語(yǔ)句。不過,我們一般都希望限制用戶的訪問和操作數(shù)據(jù)庫(kù)的權(quán)限。
除了對(duì)單獨(dú)的用戶外,你還可以對(duì)SQL Server角色、Windows NT用戶以及Windows NT組使用GRANT語(yǔ)句。如果用戶和(或者)組或者角色之間存在授權(quán)沖突,那么按照最嚴(yán)格的授權(quán)處理。不能對(duì)其它數(shù)據(jù)庫(kù)的用戶、角色或者組進(jìn)行授權(quán)。
你可以用REVOKE語(yǔ)句來解除已經(jīng)授予的權(quán)限。你也可以用DENY語(yǔ)句來停止阻止用戶從他(她)所從屬的組(或者角色)那里來得到授予該組(或者角色)的權(quán)限。
在下面的例子中,我們將會(huì)看到擁有pubs數(shù)據(jù)庫(kù)中的authors表權(quán)限的人有哪些。然后,我們給予皮特訪問數(shù)據(jù)庫(kù)的權(quán)限。最后,我們?cè)俳o他對(duì)authors表執(zhí)行INSERT、UPDATE和DELETE的權(quán)限。
首先,我們運(yùn)行sp_helpprotect來看看authors表格上哪些人有哪些權(quán)限。
Exec sp_helprotect authors
GO
結(jié)果應(yīng)該與下面類似:
Owner Object Grantee Grantor ProtectType Action Column
----- ------ ------- ----------- ------------- --------- -------
dbo authors guest dbo Grant Delete
dbo authors guest dbo Grant Insert
dbo authors guest dbo Grant References (All+New)
dbo authors guest dbo Grant Select (All+New)
dbo authors guest dbo Grant Update (All+New)
由于在皮特得到訪問數(shù)據(jù)庫(kù)的權(quán)限之前,我們不能向他授以執(zhí)行任何語(yǔ)句的權(quán)限,因此,我們應(yīng)該首先讓皮特獲得訪問數(shù)據(jù)庫(kù)的權(quán)限。(實(shí)際上,為了可以使用已授予的權(quán)限,皮特需要一個(gè)SQL Server 2000登錄帳號(hào)和訪問該數(shù)據(jù)庫(kù)的許可。這個(gè)例子為一個(gè)SQL Server 2000中尚未存在的用戶創(chuàng)建訪問數(shù)據(jù)庫(kù)的許可。)
EXEC sp_grantdbaccess Pete
GO
你將會(huì)看到“Granted database access to 'Pete”。
讓我們運(yùn)行較早前提到的GRANT INSERT, UPDATE, DELETE語(yǔ)句。現(xiàn)在重新執(zhí)行sp_helpprotect,最后三行應(yīng)該顯示皮特以及他剛才所獲得授權(quán)的信息。
關(guān)鍵字:SQL Server、數(shù)據(jù)庫(kù)、GRANT
新文章:
- CentOS7下圖形配置網(wǎng)絡(luò)的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統(tǒng)后丟失windows啟動(dòng)項(xiàng)
- CentOS單網(wǎng)卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗(yàn)證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網(wǎng)打印機(jī)IP講解
- CentOS7使用hostapd實(shí)現(xiàn)無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網(wǎng)絡(luò)重啟出錯(cuò)
- 解決Centos7雙系統(tǒng)后丟失windows啟動(dòng)項(xiàng)
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統(tǒng)有什么不同呢
- Centos 6.6默認(rèn)iptable規(guī)則詳解