SQLServer 伺服器角色管理
- 2019 年 12 月 4 日
- 筆記
SQL Server 提供伺服器級角色以幫助你管理伺服器上的許可權。 這些角色是可組合其他主體的安全主體。 伺服器級角色的許可權作用域為伺服器範圍。 (「角色」類似於 Windows 作業系統中的「組」。)
角色

如上圖所示,共九種角色:
伺服器級的固定角色 | Description |
|---|---|
sysadmin | sysadmin 固定伺服器角色的成員可以在伺服器上執行任何活動。 |
serveradmin | serveradmin 固定伺服器角色的成員可以更改伺服器範圍的配置選項和關閉伺服器。 |
securityadmin | securityadmin 固定伺服器角色的成員可以管理登錄名及其屬性。 他們可以 GRANT、DENY 和 REVOKE 伺服器級許可權。 他們還可以 GRANT、DENY 和 REVOKE 資料庫級許可權(如果他們具有資料庫的訪問許可權)。 此外,他們還可以重置 SQL Server 登錄名的密碼。 重要提示: 授予 資料庫引擎 的訪問許可權和配置用戶許可權的能力使得安全管理員可以分配大多數伺服器許可權。securityadmin 角色應視為與 sysadmin 角色等效。 |
processadmin | processadmin 固定伺服器角色的成員可以終止在 SQL Server 實例中運行的進程。 |
setupadmin | setupadmin 固定伺服器角色的成員可以使用 Transact-SQL 語句添加和刪除鏈接伺服器。 (使用 Management Studio時需要 sysadmin 成員資格。) |
bulkadmin | bulkadmin 固定伺服器角色的成員可以運行 BULK INSERT 語句。 |
diskadmin | diskadmin 固定伺服器角色用於管理磁碟文件。 |
dbcreator | dbcreator 固定伺服器角色的成員可以創建、更改、刪除和還原任何資料庫。 |
public | 每個 SQL Server 登錄名都屬於 public 伺服器角色。 如果未向某個伺服器主體授予或拒絕對某個安全對象的特定許可權,該用戶將繼承授予該對象的 public 角色的許可權。 只有在希望所有用戶都能使用對象時,才在對象上分配 Public 許可權。 你無法更改具有 Public 角色的成員身份。 注意: public 與其他角色的實現方式不同,可通過 public 固定伺服器角色授予、拒絕或調用許可權。 |
許可權

資料庫角色成員身份:
許可權 | 解釋 |
|---|---|
db_accessadmin | 在資料庫中添加或刪除windows nt4.0或windows2000用戶和組以及sql server用戶 |
db_backupoperator | 有備份資料庫的許可權 |
db_datareader | (查) 查看來自資料庫中所有用戶表的全部數據 |
db_datawriter | (增刪改) 添加、更改或刪除來自資料庫中所有用戶表的數據 |
db_ddladmin | 添加、修改或除去資料庫中的對象 |
db_denydatareader | 拒絕選擇資料庫數據的許可權 |
db_denydatawriter | 拒絕更改資料庫數據的許可權 |
db_owner | (完全許可權) 進行所有資料庫角色活動,以及資料庫中的其他維護和配置活動,該角色的許可權跨越所有其他固定資料庫角色。 |
db_securityadmin | 管理sql server2000資料庫角色的角色和成員,並管理資料庫中的語句和對象許可權 |
public | 不可更改,為數據用戶維護的默認許可許可權,每個資料庫用戶都屬於public角色的成員。 |
常用的為:db_datareader(查許可權)db_datawriter(增刪改許可權)db_owner(完全許可權)
對於研發項目和測試的項目,我們可以只給予 public 許可權,然後在用戶映射設置中給與對應資料庫的 所有者(ower) 許可權。