次の方法で共有


sp_addrole (Transact-SQL)

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

重要な注意事項重要

sp_addrole は、以前のバージョンの Microsoft SQL Server との互換性を提供するためのもので、将来のリリースではサポートされない可能性があります。 代わりに CREATE ROLE を使用してください。

トピック リンク アイコン Transact-SQL 構文表記規則

構文

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)

セキュリティ ストアド プロシージャ (Transact-SQL)

CREATE ROLE (Transact-SQL)