SQL Server 2005數(shù)據(jù)庫用戶權(quán)限管理的設(shè)置
SQL Server 2005數(shù)據(jù)庫中,我們可以設(shè)置每個(gè)用戶對應(yīng)的權(quán)限,以提高數(shù)據(jù)庫的安全性。這類用戶權(quán)限設(shè)置的應(yīng)用非常廣泛。比如設(shè)置某個(gè)用戶訪問某個(gè)表的權(quán)限,甚至是CRUD的權(quán)限,更小粒度的還可以去到某幾個(gè)字段的訪問權(quán)限等等。其實(shí)這一設(shè)置過程是很簡單的,接下來就讓我們來一起學(xué)習(xí)吧。
一、操作步驟
1. 首先進(jìn)入數(shù)據(jù)庫級別的【安全性】-【登錄名】-【新建登錄名】
(圖1:新建登錄名)
2. 在【常規(guī)】選項(xiàng)卡中,如下圖所示,創(chuàng)建登陸名,并設(shè)置默認(rèn)的數(shù)據(jù)庫。
(圖2:設(shè)置選項(xiàng))
3. 在【用戶映射】選項(xiàng)卡中,如下圖所示,勾選需要設(shè)置的數(shù)據(jù)庫,并設(shè)置【架構(gòu)】,點(diǎn)擊【確認(rèn)】按鈕,完成創(chuàng)建用戶的操作
(圖3:選擇對應(yīng)數(shù)據(jù)庫)
4. 現(xiàn)在我們就可以對TestLog數(shù)據(jù)庫中的User表進(jìn)行權(quán)限的設(shè)置了,【表】-【 屬性】
(圖4:選擇對應(yīng)表)
5. 在【權(quán)限】選項(xiàng)卡中,如下圖所示,依此點(diǎn)擊【添加】-【瀏覽】-【選擇對象】
(圖5:設(shè)置訪問表的用戶)
6. 在上面點(diǎn)擊【確認(rèn)】后,我們就可以下面的列表中找到對應(yīng)的權(quán)限,如果你還想細(xì)化到列的權(quán)限的話,右下角還有一個(gè)【列權(quán)限】的按鈕可以進(jìn)行設(shè)置,點(diǎn)擊【確認(rèn)】按鈕就完成了這些權(quán)限的設(shè)置了
(圖6:權(quán)限列表)
7. 現(xiàn)在就使用TestUser用戶登陸數(shù)據(jù)庫了,登陸后如下圖所示,現(xiàn)在只能看到一個(gè)表了
(圖7:效果)
二、注意事項(xiàng)
1. 在上面的第3步驟中需要注意:如果這里沒有選擇對應(yīng)的數(shù)據(jù)庫的話,之后去TestLog數(shù)據(jù)庫中是找不到TestUser。
(圖8:找不到TestUser用戶)
2. 在上面的第3步驟,設(shè)置完TestLog數(shù)據(jù)后,需要點(diǎn)擊【確認(rèn)】按鈕,完成創(chuàng)建用戶操作,如果這個(gè)時(shí)候去設(shè)置【安全對象】,是無法在【添加】-【特定對象】-【對象類型】-【登陸名】-【瀏覽】中找到剛剛新建的TestUser用戶的。
3. 其實(shí)在數(shù)據(jù)庫級別的【安全性】創(chuàng)建的用戶是屬于全局的,當(dāng)設(shè)置了某個(gè)數(shù)據(jù)庫,比如TestLog之后,這個(gè)用戶就會出現(xiàn)在這個(gè)數(shù)據(jù)庫的【安全性】列表中。如果刪除TestLog這個(gè)用戶,會出現(xiàn)下面的提示。刪除了后,這個(gè)用戶就無法登陸了。需要去對應(yīng)的數(shù)據(jù)庫中刪除用戶,如果沒有刪除又創(chuàng)建,是會報(bào)錯的。
(圖9:刪除TestUser用戶)
4. 在第6步的【顯式權(quán)限】列表中,如果選擇了【Control】這個(gè)選項(xiàng),那么在【Select】中設(shè)置查詢【列權(quán)限】就沒有意義了,查詢就不會受限制了。如果設(shè)置【列權(quán)限】,在正常情況下會顯示下圖的報(bào)錯信息:
(圖10:效果)
5. 在TestLog數(shù)據(jù)庫的【安全性】-【TestUser】-【屬性】-【安全對象】-【添加】-【對象類型】這里有更多關(guān)于數(shù)據(jù)庫級別的一些對象類型可以設(shè)置。
(圖11:其它對象類型)
關(guān)于SQL Server 2005數(shù)據(jù)庫用戶權(quán)限設(shè)置就介紹到這里,如果想了解更多SQL Server數(shù)據(jù)庫的知識,這里的文章很有用:http://database.51cto.com/sqlserver/,千萬不要錯過哦!
【編輯推薦】