程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SQL Server 2005 控制用戶權限訪問表

SQL Server 2005 控制用戶權限訪問表

編輯:關於SqlServer

      一、需求

      在管理數據庫過程中,我們經常需要控制某個用戶訪問數據庫的權限,比如只需要給這個用戶訪問某個表的權限,甚至是CRUD的權限,更小粒度的還可以去到某幾個字段的訪問權限。寫這篇文章就是說明下這個操作過程。

      其實這只是SQL Server權限管理很簡單的一小塊,有些地方並沒有深入理解和講述,只是希望對一些剛入門的童鞋有幫助,其它大俠就當是:我當堂嚇一跳,然後得啖笑。(賭聖)

      二、操作步驟

      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:其它對象類型)

      (來源:http://gaizai.cnblogs.com/  作者:聽風吹雨)

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved