共用方式為


CREATE SERVER ROLE (Transact-SQL)

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

適用於:SQL Server (SQL Server 2012 至目前版本)。

主題連結圖示 Transact-SQL 語法慣例

語法

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_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.建立登入所擁有的伺服器角色

下列範例會建立登入 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)

EVENTDATA (Transact-SQL)

sp_addrolemember (Transact-SQL)

sys.database_role_members (Transact-SQL)

sys.database_principals (Transact-SQL)

概念

主體 (Database Engine)