適用対象:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Microsoft Fabric の SQL 分析エンドポイント
Microsoft Fabric のウェアハウス
Microsoft Fabric の 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)
データベース エンジンの権限の概要