適用対象:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Microsoft Fabric の SQL 分析エンドポイント
Microsoft Fabric Warehouse
Microsoft Fabric SQL Database
現在のデータベースに新しいデータベース ロールを作成します。
構文
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
参照
プリンシパル (データベース エンジン)
オルターロール (Transact-SQL)
ドロップロール (Transact-SQL)
イベントデータ (Transact-SQL)
sp_addrolemember (Transact-SQL)
sys.database_role_members (Transact-SQL)
sys.database_principals (Transact-SQL)
データベース エンジンの権限の概要