共用方式為


CREATE ROLE (Transact-SQL)

適用於:sql Server Azure SQL 資料庫 Azure SQL 受控執行個體Azure Synapse Analytics Analytics Platform System (PDW) SQL 分析端點Microsoft網狀架構倉儲中的 Microsoft FabricSQL 資料庫Microsoft網狀架構

在目前資料庫中建立新的資料庫角色。

Transact-SQL 語法慣例

語法

CREATE ROLE role_name [ AUTHORIZATION owner_name ]  

引數

role_name
這是即將建立的角色名稱。

授權 owner_name
這是要擁有新角色的資料庫使用者或角色。 如果未指定任何使用者,該角色便由執行 CREATE ROLE 的使用者所擁有。 角色的擁有者,或是任何擁有角色的成員都可以新增或移除角色成員。

備註

角色是資料庫層級的安全性實體。 當您建立角色之後,請利用 GRANT、DENY 和 REVOKE,設定角色的資料庫層級權限。 若要在資料庫角色中新增成員,請使用 ALTER ROLE (Transact-SQL)。 如需詳細資訊,請參閱資料庫層級角色

您可以在 sys.database_role_members 和 sys.database_principals 目錄檢視中,看到資料庫角色。

如需設計權限系統的資訊,請參閱 資料庫引擎權限使用者入門

備註

架構不等於資料庫使用者。 使用 系統目錄檢視 來識別資料庫用戶與架構之間的任何差異。

權限

需要資料庫的 CREATE ROLE 權限,或是 db_securityadmin 固定資料庫角色的成員資格。 當您使用 AUTHORIZATION 選項時,也必須具備下列權限:

  • 若要指派角色擁有權給另一位使用者,則需要該使用者的 IMPERSONATE 權限。

  • 若要指派角色擁有權給另一個角色,則需要收件者角色中的成員資格,或該角色的 ALTER 權限。

  • 若要指派角色的擁有權給應用程式角色,則需要應用程式角色的 ALTER 權限。

範例

下列範例使用 AdventureWorks 資料庫。

A。 建立資料庫使用者所擁有的資料庫角色

下列範例會建立使用者 buyers 所擁有的資料庫角色 BenMiller

CREATE ROLE buyers AUTHORIZATION BenMiller;  
GO  

B. 建立由固定資料庫角色所擁有的資料庫角色

下列範例會建立 auditors 固定資料庫角色所擁有的資料庫角色 db_securityadmin

CREATE ROLE auditors AUTHORIZATION db_securityadmin;  
GO  

另請參閱

主體 (資料庫引擎)
ALTER ROLE (Transact-SQL)
DROP ROLE (Transact-SQL)
EVENTDATA (Transact-SQL)
sp_addrolemember (Transact-SQL)
sys.database_role_members (Transact-SQL)
sys.database_principals (Transact-SQL)
資料庫引擎權限使用者入門