CREATE ROLE (Transact-SQL)

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Microsoft Fabric の SQL 分析エンドポイントMicrosoft Fabric のウェアハウスMicrosoft Fabric の SQL データベース

現在のデータベースに新しいデータベース ロールを作成します。

Transact-SQL 構文表記規則

Syntax

CREATE ROLE role_name [ AUTHORIZATION owner_name ]  

Arguments

role_name
作成するロールの名前です。

AUTHORIZATION owner_name
新しいロールを所有するデータベース ユーザーまたはロールを指定します。 ユーザーが指定されていない場合、その役割は実行するユーザーが所有 CREATE ROLEします。 ロールの所有者、または所有するロールのメンバーは、ロールのメンバーを追加または削除できます。

Remarks

ロールはデータベース レベルのセキュリティ保護可能なリソースです。 ロールを作成した後は、 GRANT、 DENY、 REVOKEを使ってそのロールのデータベースレベルの権限を設定してください。 データベースの役割にメンバーを追加するには、 ALTER ROLE (Transact-SQL)を使用します。 詳しくは、「データベース レベルのロール」をご覧ください。

データベース ロールは、sys.database_role_members および sys.database_principals カタログ ビューで確認できます。

権限システムの設計の詳細については、「 データベース エンジンの権限の概要」を参照してください。

Note

スキーマは、データベース ユーザーと同等ではありません。 システム カタログ ビューを使用して、データベース ユーザーとスキーマの違いを特定します。

Permissions

データベースの権限 CREATE ROLE または db_securityadmin 固定データベースの役割のメンバーシップが必要です。 AUTHORIZATIONオプションを使用する場合、以下の権限も必要です。

  • ロールの所有権を別のユーザーに割り当てるには、そのユーザーに対する IMPERSONATE 権限が必要です。

  • ロールの所有権を別のロールに割り当てるには、割り当て先のロールのメンバーシップまたはそのロールに対する ALTER 権限が必要です。

  • ロールの所有権をアプリケーション ロールに割り当てるには、アプリケーション ロールに対する ALTER 権限が必要です。

Examples

以下のすべての例では、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)
イベントデータ (Transact-SQL)
sp_addrolemember(Transact-SQL)
sys.database_role_members(Transact-SQL)
sys.database_principals(Transact-SQL)
データベース エンジンの権限の概要