sql server創建新用戶名登錄以及為表添加角色和權限的多種方法


 

1.在SQL Server Management Studio中為所屬的SQL服務器設置為SQL Server和Windows NT混合安全認證模式。其步驟如下:

(1)    在對象資源管理器中,用鼠標右擊需要設置的SQL服務器,在彈出的菜單中選擇“屬性”項,則出現服務器對話框。在“選擇頁”中選擇“安全性”。

(2)在“服務器身份驗證”中選擇“SQL Server和Windows身份驗證模式”單選項。

 

 

 

 

2.在SQL Server Management Studio中為自己建立一個服務器用戶、數據庫用戶和數據庫角色。

(1)    在對象資源管理器中展開服務器,用鼠標單擊“安全性”文件夾右側的‘+’,再用鼠標右擊“登錄名”,在彈出的菜單中選擇“新建登錄名”選項,則出現新建登錄名對話框。

 

 

(2選擇“選擇頁”中的“常規”選項,輸入登錄名(本例為user),選擇SQL Server身份驗證,並輸入用戶密碼。指定此登錄名可以訪問的數據庫(本例選中Test數據庫)。

  

 

(3)選擇“選擇頁”中的“服務器角色”選項,需要確定用戶所屬的服務器角色,在本例中采用缺省值public即可。

 

 

(4)選擇“選擇頁”中的“用戶映射”選項,需要確定映射到此登錄名的用戶,在本例中勾選Test。數據庫角色成員身份選擇public。

 

 

(5)單擊“確定”按鈕,即完成了創建登錄用戶的工作。

3.登錄新建用戶

(1)重新登錄SQL Server Management Studio,如圖6-5所示,選擇“SQL Server身份驗證”,用戶名為user,輸入用戶密碼,連接到SQL Server。

 

 

(2)    新建查詢,選擇Test數據庫,在查詢編輯窗口中鍵入SQL查詢命令“SELECT * FROM Student”。運行后,在運行結果窗口得到消息“拒絕了對對象 'Student'(數據庫 'Test',所有者 'dbo')的 SELECT 權限。”,可見用戶user沒有對Student表的SELECT權限。

 

 

3.要將Test數據庫的部分操作權限賦予數據庫用戶user,有兩種方法。

方法一:通過圖形界面方式

(1)斷開連接,以sa身份進入SQL Server Management Studio,展開服務器,用鼠標單擊“數據庫”文件夾右側的‘+’,用鼠標單擊Test數據庫文件夾右側的‘+’,用鼠標右擊“用戶”。在屏幕右側的“用戶”窗口中選擇“user”項,用鼠標右擊,在彈出的菜單中選擇“屬性”項,則出現數據庫用戶屬性對話框,選擇“安全對象”選項.

 

 

 

(2)點擊“搜索”按鈕,出現“添加對象”對話框,選擇“特定對象”,點擊“確定”按鈕.

 

 

 

(3)在“選擇對象”對話框中點擊“對象類型”按鈕,並點擊表,然后點擊確定。

 

 

 

    (4)在“選擇對象”對話框中,點擊“瀏覽”按鈕,進入“查找對象”對話框。

         

 

(5)在“查找對象”對話框中勾選表Student,然后點擊“確定”按鈕,再次返回到“選擇對象”對話框。

 

 

 

(6)在安全對象設置對話框中,通過勾選dbo.Student對應的權限給用戶user授權。勾選“選擇”權限對應的授權框,再點擊“確定”按鈕,使得用戶user獲得Student表的查詢權限。

  

 

 

(7)驗證用戶user對Student表的操作權限。以用戶user的身份登錄,在SQL Server Management Studio中新建查詢,並在查詢編輯區中使用SQL語句查詢到Student表中的數據。但是如果以用戶user的身份查詢其他基本表,依然無法查看表中數據。

 

 

 

 

 

 

方法二:通過SQL的數據控制功能

       對用戶user授權,必須是數據庫對象擁有者以上用戶授予。我們可以以系統管理員或sa用戶登錄。選擇“Test”數據庫,選擇“Test”數據庫,在查詢編輯區中輸入授權語句“GRANT SELECT ON SC TO [user];”,然后執行即可。

 

 

 

 

 

注意:user與關鍵字沖突,此時應當加入一個中括號。

 

5.使用角色來管理數據庫權限

創建角色,使該角色擁有一組權限,然后將角色授予一個指定的用戶。

 

方法一:通過圖形界面

創建角色R1,使該角色擁SC表的插入、更新權限,然后將角色R1授予指定的用戶user。

 

(1)    在“對象資源管理器”中展開服務器,用鼠標單擊“數據庫”文件夾左側的‘+’,用鼠標單擊Test數據庫文件夾左側的‘+’,展開數據庫文件夾,然后依次展開“安全性”、“角色”。鼠標右擊“數據庫角色”,在彈出的菜單中選擇“新建數據庫角色”項,則出現數據庫角色屬性對話框。

 

 

(2)在“選擇頁”中選擇“常規”選項,並在“角色名稱”一欄輸入R1。

  

 

(3)賦予角色權限的方法與賦予“數據庫用戶權限”的方法類似。在“選擇頁”中選擇“安全對象”選項。

 

 

(4)點擊“搜索”按鈕,出現“添加對象”對話框,選擇“特定對象”,點擊“確定”按鈕 

 

 

(5)在“選擇對象”對話框中點擊“對象類型”按鈕。

 

(6)在“選擇對象類型”對話框中勾選“表”,然后點擊“確定”按鈕,返回到“選擇對象”對話框。

 

 

 

(7)在“選擇對象”對話框中,點擊“瀏覽”按鈕,進入“查找對象”對話框。

 

 

(8在“查找對象”對話框中勾選表SC,然后點擊“確定”按鈕,再次返回到“選擇對象”對話框。

 

 

(9)點擊“確定”按鈕,返回到安全對象設置對話框。

 

 

(10)在安全對象設置對話框中,通過勾選dbo.SC對應的權限給角色R1授權。勾選“選擇”,“插入”權限對應的授權框,點擊“確定”按鈕,使得角色R1獲得SC表的插入和修改權限。

 

 

(11)在“選擇頁”中選擇“常規”選項,點擊“添加”按鈕,實現將角色R1授予用戶。

 

 

(12)在“選擇數據庫用戶或角色”對話框中,點擊“瀏覽”按鈕,進入“查找對象”對話框。

 

(13)如圖6-26所示,在“查找對象”對話框中勾選user,點擊“確定”按鈕返回。

 

 

(14)點擊“確定”按鈕完成授權,實現把角色R1授予用戶user。 

(15)驗證用戶user的操作權限。以用戶user的身份登錄,在SQL Server Management Studio中新建查詢,並在查詢編輯區中使用SQL語句,驗證用戶user的操作權限。

 

方法二:通過SQL的數據控制功能

       對角色授權,必須是數據庫對象擁有者以上用戶授予。我們可以以系統管理員或sa用戶登錄SQL Server Management Studio。

創建角色R2,使該角色擁Student表的SELECT、INSERT權限,然后將角色R2授予指定的用戶U2和U3。(自行創建U2,U3)

      

1)在文本編輯區中使用語句sp_addrole @rolename='角色名'創建角色R2;

 

 

 

注意:選擇數據庫為test

 

2)用GRANT語句為角色R2賦予Student表的SELECT、INSERT權限;

 

 

3)在查詢分析器中使用語句sp_addrolemember '角色名','用戶名'將角色授予指定的用戶。

 

 

   6.分別以用戶U1,U2,U3的身份進入數據庫,實現權限內的操作和權限外的操作,看看會得到什么結果?

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM