CREATE SERVER ROLE (Transact-SQL)
適用於:SQL Server
Azure SQL 受控執行個體
建立新的使用者定義伺服器角色。
Syntax
CREATE SERVER ROLE role_name [ AUTHORIZATION server_principal ]
注意
若要檢視 SQL Server 2014 (12.x) 和更早版本的 Transact-SQL 語法,請參閱舊版文件。
引數
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. 建立登入所擁有的伺服器角色
下列範例會建立登入 buyers
所擁有的伺服器角色 BenMiller
。
USE master;
CREATE SERVER ROLE buyers AUTHORIZATION BenMiller;
GO
B. 建立固定伺服器角色所擁有的伺服器角色
下列範例會建立固定伺服器角色 auditors
所擁有的伺服器角色 securityadmin
。
USE master;
CREATE SERVER ROLE auditors AUTHORIZATION securityadmin;
GO