sp_addrole (Transact-SQL)
適用対象:SQL Server
現在のデータベースに新しいデータベース ロールを作成します。
重要
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 ステートメントを使用してデータベース ロールにアクセス許可を適用すると、データベース ロールのメンバーは、アクセス許可がアカウントに直接適用されたかのように、これらのアクセス許可を継承します。
Note
新しいサーバー ロールを作成できません。 ロールは、データベース レベルでのみ作成できます。
sp_addrole は、ユーザー定義トランザクション内では使用できません。
アクセス許可
データベースに対する CREATE ROLE 権限が必要です。 スキーマを作成する場合は、データベースに CREATE SCHEMA が必要です。 所有者がユーザーまたはグループとして指定されている場合は、そのユーザーまたはグループに対して IMPERSONATE が必要です。 所有者がロールとして指定されている場合は、そのロールまたはそのロールのメンバーに対する ALTER アクセス許可が必要です。 owner がアプリケーション ロールとして指定されている場合は、そのアプリケーション ロールに対する ALTER アクセス許可が必要です。
例
次の例では、Managers
という新しいロールを現在のデータベースに追加します。
EXEC sp_addrole 'Managers';
参照
システム ストアド プロシージャ (Transact-SQL)
セキュリティ ストアド プロシージャ (Transact-SQL)
CREATE ROLE (Transact-SQL)
フィードバック
フィードバックの送信と表示