伺服器層級角色

為了輕鬆管理伺服器的權限,SQL Server 提供了幾個「角色」(Role),這些角色是分組其他主體的安全性主體。「角色」(Role) 就像 Microsoft Windows 作業系統中的「群組」(Group)。

固定伺服器角色是為了方便和回溯相容性所提供。請盡可能指派更特定的權限。

伺服器層級角色也稱為「固定伺服器角色」(Fixed Server Role),因為您無法建立新的伺服器層級角色。伺服器層級角色的權限範圍為整個伺服器。

您可以將 SQL Server 登入、Windows 帳戶和 Windows 群組加入到伺服器層級角色中。固定伺服器角色的每個成員可以對相同的角色增加其他登入。

下表顯示伺服器層級角色及其功能。

伺服器層級角色名稱

說明

sysadmin

系統管理員 (sysadmin) 固定伺服器角色的成員可以在伺服器中執行所有活動。

serveradmin

伺服器管理員 (serveradmin) 固定伺服器角色的成員可以變更整個伺服器的組態選項及關閉伺服器。

securityadmin

安全性管理員 (securityadmin) 固定伺服器角色的成員可以管理登入及其屬性。他們可以 GRANT、DENY 及 REVOKE 伺服器層級權限。如果他們擁有資料庫的存取權,也可以 GRANT、DENY 和 REVOKE 資料庫層級權限。此外,他們可以重設 SQL Server 登入的密碼。

安全性注意事項安全性注意事項
授與 Database Engine 之存取權和設定使用者權限的能力可讓安全性管理員指派大部分伺服器權限。您應該將安全性管理員 (securityadmin) 角色視為相當於系統管理員 (sysadmin) 角色。

processadmin

處理序管理員 (processadmin) 固定伺服器角色的成員可以結束在 SQL Server 執行個體中執行的處理序。

setupadmin

安裝程式管理員 (setupadmin) 固定伺服器角色的成員可以加入和移除連結伺服器。

bulkadmin

大量管理員 (bulkadmin) 固定伺服器角色的成員可以執行 BULK INSERT 陳述式。

diskadmin

磁碟管理員 (diskadmin) 固定伺服器角色是用來管理磁碟檔案。

dbcreator

資料庫建立者 (dbcreator) 固定伺服器角色的成員可以建立、改變、卸除及還原任何資料庫。

public

每一個 SQL Server 登入都屬於 public 伺服器角色。當伺服器主體未被授與或拒絕安全性實體物件的特定權限時,該使用者會繼承授與給該物件之 public 的權限。 只有當您想要將任何物件提供給所有使用者使用時,才指派該物件的 public 權限。

如需有關伺服器層級角色權限的特定資訊,請參閱<固定伺服器角色的權限 (Database Engine)>。

處理伺服器層級角色

下表將說明用來處理伺服器層級角色的命令、檢視和函數。

功能

類型

說明

sp_helpsrvrole (Transact-SQL)

中繼資料

傳回伺服器層級角色的清單。

sp_helpsrvrolemember (Transact-SQL)

中繼資料

傳回伺服器層級角色成員的相關資訊。

sp_srvrolepermission (Transact-SQL)

中繼資料

顯示伺服器層級角色的權限。

IS_SRVROLEMEMBER (Transact-SQL)

中繼資料

指出 SQL Server 登入是否為指定之伺服器層級角色的成員。

sys.server_role_members (Transact-SQL)

中繼資料

針對每個伺服器層級角色的每個成員,各傳回一個資料列。

sp_addsrvrolemember (Transact-SQL)

命令

加入一個登入,作為伺服器層級角色的成員。

sp_dropsrvrolemember (Transact-SQL)

命令

從伺服器層級角色移除 SQL Server 登入或是 Windows 使用者或群組。