適用於:sql Server
Azure SQL 資料庫 Azure SQL 受控執行個體
Azure Synapse Analytics Analytics
Platform System (PDW) SQL 分析端點Microsoft
網狀架構倉儲中的 Microsoft Fabric
SQL 資料庫Microsoft網狀架構
在目前資料庫中建立新的資料庫角色。
語法
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)
資料庫引擎權限使用者入門