sp_addrole (Transact-SQL)
現在のデータベースに新しいデータベース ロールを作成します。
重要 |
---|
sp_addrole は、以前のバージョンの Microsoft SQL Server との互換性を提供するためのもので、将来のリリースではサポートされない可能性があります。 代わりに CREATE ROLE を使用してください。 |
構文
sp_addrole [ @rolename = ] 'role' [ , [ @ownername = ] 'owner' ]
引数
[ @rolename = ] 'role'
新しいデータベース ロールの名前を指定します。 role のデータ型は sysname で、既定値はありません。 role には、有効な識別子 (ID) を使用し、現在のデータベース内に存在しないロールを指定する必要があります。[ @ownername =] 'owner'
新しいデータベース ロールの所有者を指定します。 owner のデータ型は sysname で、既定値は現在実行しているユーザーです。 owner は、現在のデータベースのデータベース ユーザーまたはデータベース ロールであることが必要です。
戻り値
0 (成功) または 1 (失敗)
説明
SQL Server データベース ロールは 1 ~ 128 文字で指定でき、英数字と記号を含めることができます。 データベース ロールの名前に円記号 (\) を含めたり、NULL または空文字列 ('') を指定することはできません。
データベース ロールを追加した後、プリンシパルをロールに追加するには sp_addrolemember (Transact-SQL) を使用します。 GRANT、DENY、または REVOKE ステートメントを使用して権限をデータベース ロールに適用すると、そのデータベース ロールのメンバーには、それぞれのアカウントに直接適用した場合と同様に、権限が継承されます。
注 |
---|
新しいサーバー ロールを作成することはできません。 ロールは、データベース レベルでのみ作成できます。 |
ユーザーが定義したトランザクション内では、sp_addrole は実行できません。
権限
データベースに対する CREATE ROLE 権限が必要です。 スキーマを作成する場合は、データベースに対する CREATE SCHEMA 権限が必要です。 owner をユーザーまたはグループとして指定する場合は、そのユーザーまたはグループに対する IMPERSONATE 権限が必要です。 owner をロールとして指定する場合は、そのロールまたはそのロールのメンバーに対する ALTER 権限が必要です。 所有者をアプリケーション ロールとして指定する場合は、そのアプリケーション ロールに対する ALTER 権限が必要です。
使用例
次の例では、Managers という新しいロールを現在のデータベースに追加します。
EXEC sp_addrole 'Managers'
関連項目
参照
システム ストアド プロシージャ (Transact-SQL)