CREATE SERVER ROLE (Transact-SQL)
建立新的使用者定義伺服器角色。
適用於:SQL Server (SQL Server 2012 至目前版本)。 |
語法
CREATE SERVER ROLE role_name [ AUTHORIZATION server_principal ]
引數
role_name
這是即將建立的伺服器角色名稱。AUTHORIZATION server_principal
這是即將擁有新伺服器角色的登入。 如果未指定任何登入,該伺服器角色便由執行 CREATE SERVER ROLE 的登入所擁有。
備註
伺服器角色是伺服器層級安全性實體。 當您建立伺服器角色之後,請利用 GRANT、DENY 和 REVOKE,設定角色的伺服器層級權限。 若要在伺服器角色中新增或移除登入,請使用 ALTER SERVER ROLE (Transact-SQL)。 若要卸除伺服器角色,請使用 DROP SERVER ROLE (Transact-SQL)。 如需詳細資訊,請參閱<sys.server_principals (Transact-SQL)>。
您可以藉由查詢 sys.server_role_members 和 sys.server_principals 目錄檢視,檢視伺服器角色。
不能將資料庫層級安全性實體授與伺服器角色。 若要建立資料庫角色,請參閱<CREATE ROLE (Transact-SQL)>。
權限
需要 CREATE SERVER ROLE 權限或系統管理員 (sysadmin) 固定伺服器角色中的成員資格。
此外,也需要登入之 server_principal 的 IMPERSONATE、做為 server_principal 之伺服器角色的 ALTER 權限,或做為 server_principal 之 Windows 群組中的成員資格。
這樣將會 Audit Server Principal Management 事件,其物件類型設為伺服器角色,而事件類型設為加入。
當您使用 AUTHORIZATION 選項指派伺服器角色擁有權時,也必須具備下列權限:
若要指派伺服器角色擁有權給另一個登入,則需要該登入的 IMPERSONATE 權限。
若要指派伺服器角色擁有權給另一個伺服器角色,則需要收件者伺服器角色中的成員資格,或該伺服器角色的 ALTER 權限。
範例
A.建立登入所擁有的伺服器角色
下列範例會建立登入 BenMiller 所擁有的伺服器角色 buyers。
USE master;
CREATE SERVER ROLE buyers AUTHORIZATION BenMiller;
GO
B.建立固定伺服器角色所擁有的伺服器角色
下列範例會建立固定伺服器角色 securityadmin 所擁有的伺服器角色 auditors。
USE master;
CREATE SERVER ROLE auditors AUTHORIZATION securityadmin;
GO
請參閱
參考
DROP SERVER ROLE (Transact-SQL)
sp_addrolemember (Transact-SQL)
sys.database_role_members (Transact-SQL)
sys.database_principals (Transact-SQL)