未經作者同意,任何人不得以“原創”形式發布,也不得已用于商業用途,本人不負責任何法律責任。
前一篇:http://blog.csdn.net/dba_huangzj/article/details/39577861
數據庫層級的角色允許把數據庫權限像服務器級別角色一樣組合管理。你可以配置固定服務器角色,創建用戶自定義角色等。
1. 在SSMS中,進入某個數據庫的節點,點擊【安全性】,然后點擊【數據庫角色】節點:
固定角色 | 描述 |
db_accessadmin | db_accessadmin 固定數據庫角色的成員可以為 Windows 登錄名、Windows 組和 SQL Server 登錄名添加或刪除數據庫訪問權限。 |
db_backupoperator | db_backupoperator 固定數據庫角色的成員可以備份數據庫。 |
db_datareader | db_datareader 固定數據庫角色的成員可以從所有用戶表中讀取所有數據。 |
db_datawriter | db_datawriter 固定數據庫角色的成員可以在所有用戶表中添加、刪除或更改數據。 |
db_denydatareader | db_denydatareader 固定數據庫角色的成員不能讀取數據庫內用戶表中的任何數據。 |
db_denydatawriter | db_denydatawriter 固定數據庫角色的成員不能添加、修改或刪除數據庫內用戶表中的任何數據。 |
db_owner | db_owner 固定數據庫角色的成員可以執行數據庫的所有配置和維護活動,還可以刪除數據庫。 |
db_securityadmin | db_securityadmin 固定數據庫角色的成員可以修改角色成員身份和管理權限。 |
db_ddladmin | db_ddladmin 固定數據庫角色的成員可以在數據庫中運行任何數據定義語言 (DDL) 命令。 |
2. 如果添加成員到某個角色,可以雙擊這個角色,在【屬性】頁的【此角色的成員】中添加:
3. 也可以使用T-SQL實現:
4. 如果需要創建自定義角色,可以右鍵【數據庫角色】節點然后選擇【新建數據庫角色】,輸入角色名和擁有者,用于控制這個角色的全部權限,建議使用dbo或者留空。
5. 不要讓GUI界面混淆了你,在【常規】頁,有兩個listboxes,第一個是【此角色擁有的架構】,列出了這個數據庫的架構,在后面介紹。
6. 現在忘記第一個listbox,并到第二個listbox,【此角色的成員】,可以添加角色成員。
7. 然后到【安全對象】頁,在這里可以選擇安全對象,也可以用T-SQL實現:
固定角色允許授權全局權限到數據庫的所有對象中,大部分時間里面,不需要使用db_datareader/db_datawriter。因為權限限制太少,而db_denydatareader/db_denydatawriter卻很有用,可以限制用戶不允許訪問表、視圖。
所有用戶都屬于public數據庫角色的成員,不能被移除,而db_owner角色的成員在數據庫中以dbo用戶的形式出現。
可以使用下面語句查看某個登錄名是否屬于某個數據庫角色的成員:
返回1的話代表Fred是ProspectManager角色的成員。
如果使用了WITH GRANT OPTION授權到Windows組中,那么這個角色的成員選喲在授權時使用AS關鍵字。
當Fred使用GRANT命令,必須使用AS contactReaders。
MSDB由于其重要性,角色的數量和功能都和常規的庫不一樣:
角色 | 描述 |
db_ssisadmin | 可以作為管理員管理服務器上的SSIS。 |
db_ssisoperator | 可以查看所有SSIS包,但是不能導入或修改。 |
db_ssisltduser | 可以查看和執行屬于它自己的SSIS包。 |
dc_admin | 可以管理data collector collection集和屬性,又有所有dc_operator的權限。 |
dc_operator | 可以讀和更新DC collection set和屬性。 |
dc_proxy | 可以讀取DC collection sets和對應屬性。 |
PolicyAdministratorRole | 可以執行基于策略的管理上所有配置和維護操作。 |
ServerGroupAdministratorRole | 可以注冊和使用中央管理服務器組。 |
ServerGroupReaderRole | 可以連接中央管理服務器組。 |
dbm_monitor | 允許監控數據庫鏡像。 |
關于SSIS角色和Data Collector 安全性,可以查看下面文章:
下一篇: