SQLServer控制使用者訪問許可權表

2022-02-23 23:59:04 字數 1799 閱讀 1496

一、需求

在管理資料庫過程中,我們經常需要控制某個使用者訪問資料庫的許可權,比如只需要給這個使用者訪問某個表的許可權,甚至是crud的許可權,更小粒度的還可以去到某幾個欄位的訪問許可權。寫這篇文章就是說明下這個操作過程。

二、操作步驟

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

2.在【常規】選項卡中,如下圖所示,建立登陸名,並設定預設的資料庫

3.在【使用者對映】選項卡中,如下圖所示,勾選需要設定的資料庫,並設定【架構】,點選【確認】按鈕,完成建立使用者的操作

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

5.在【許可權】選項卡中,如下圖所示,依此點選【新增】-【瀏覽】-【選擇物件】

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

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

三、注意事項

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

2.在上面的第3步驟,設定完testlog資料後,需要點選【確認】按鈕,完成建立使用者操作,如果這個時候去設定【安全物件】,是無法在【新增】-【特定物件】-【物件型別】-【登陸名】-【瀏覽】中找到剛剛新建的testuser使用者的。

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

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

5.在testlog資料庫的【安全性】-【testuser】-【屬性】-【安全物件】-【新增】-【物件型別】這裡有更多關於資料庫級別的一些物件型別可以設定。

使用者訪問控制

使用者訪問控制 建立使用者及授予系統許可權 create user zbl identified by 123123 grant create table,create view,create sequence to zbl 可授予的系統許可權包括 create session 連線資料庫的許可權 ...

使用者訪問控制

使用者訪問控制 建立使用者及授予系統許可權 create user zbl identified by 123123 grant create table,create view,create sequence to zbl 可授予的系統許可權包括 create session 連線資料庫的許可權 ...

sql server 使用者訪問許可權設定

示例說明 示例在資料庫pubs中建立乙個擁有表jobs的所有許可權 擁有表titles的select許可權的角色r test 隨後建立了乙個登入l test,然後在資料庫pubs中為登入l test建立了使用者賬戶u test 同時將使用者賬戶u test新增到角色r test中,使其通過許可權繼承...