CREATE SERVER ROLE (Transact-SQL)

適用於:SQL ServerAzure SQL 受控執行個體

建立新的使用者定義伺服器角色。

Transact-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_memberssys.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  

下一步