天天看點

SQL使用者資料庫權限設定

要養成一個好習慣,每天寫點東西,寫點分享

下面寫下資料庫中限制使用者權限的問題

 1.首先進入資料庫級别的【安全性】-【登入名】-【建立登入名】

(圖1:建立登入名)

2.      在【正常】頁籤中,如下圖所示,建立登陸名,并設定預設的資料庫

(圖2:設定選項)

3.      在【使用者映射】頁籤中,如下圖所示,勾選需要設定的資料庫,并設定【架構】,點選【确認】按鈕,完成建立使用者的操作

(圖3:選擇對應資料庫)

4.      現在我們就可以對TestLog資料庫中的User表進行權限的設定了,【表】-【 屬性】

(圖4:選擇對應表)

5.      在【權限】頁籤中,如下圖所示,依此點選【添加】-【浏覽】-【選擇對象】

(圖5:設定通路表的使用者)

6.      在上面點選【确認】後,我們就可以下面的清單中找到對應的權限,如果你還想細化到列的權限的話,右下角還有一個【列權限】的按鈕可以進行設定,點選【确認】按鈕就完成了這些權限的設定了

(圖6:權限清單)

7.      現在就使用TestUser使用者登陸資料庫了,登陸後如下圖所示,現在隻能看到一個表了

(圖7:效果)

三、注意事項

1.      在上面的第3步驟中需要注意:如果這裡沒有選擇對應的資料庫的話,之後去TestLog資料庫中是找不到TestUser。

(圖8:找不到TestUser使用者)

2.      在上面的第3步驟,設定完TestLog資料後,需要點選【确認】按鈕,完成建立使用者操作,如果這個時候去設定【安全對象】,是無法在【添加】-【特定對象】-【對象類型】-【登陸名】-【浏覽】中找到剛剛建立的TestUser使用者的。

3.      其實在資料庫級别的【安全性】建立的使用者是屬于全局的,當設定了某個資料庫,比如TestLog之後,這個使用者就會出現在這個資料庫的【安全性】清單中。如果删除TestLog這個使用者,會出現下面的提示。删除了後,這個使用者就無法登陸了。需要去對應的資料庫中删除使用者,如果沒有删除又建立,是會報錯的。

(圖9:删除TestUser使用者)

4.      在第6步的【顯式權限】清單中,如果選擇了【Control】這個選項,那麼在【Select】中設定查詢【列權限】就沒有意義了,查詢就不會受限制了。如果設定【列權限】,在正常情況下會顯示下圖的報錯資訊:

(圖10:效果)

5.      在TestLog資料庫的【安全性】-【TestUser】-【屬性】-【安全對象】-【添加】-【對象類型】這裡有更多關于資料庫級别的一些對象類型可以設定。

(圖11:其它對象類型)