sp_addrole (Transact-sql)sp_addrole (Transact-SQL)

適用対象:Applies to: はいSQL ServerSQL Server (サポートされているすべてのバージョン) yesSQL ServerSQL Server (all supported versions) 適用対象:Applies to: はいSQL ServerSQL Server (サポートされているすべてのバージョン) yesSQL ServerSQL Server (all supported versions)

現在のデータベースに新しいデータベース ロールを作成します。Creates a new database role in the current database.

重要

sp_addroleは、以前のバージョンのとの互換性のために含まれて MicrosoftMicrosoft SQL ServerSQL Server おり、将来のリリースではサポートされない可能性があります。sp_addrole is included for compatibility with earlier versions of MicrosoftMicrosoftSQL ServerSQL Server and may not be supported in a future release. 代わりに CREATE ROLE を使用してください。Use CREATE ROLE instead.

トピック リンク アイコン Transact-SQL 構文表記規則Topic link icon Transact-SQL Syntax Conventions

構文Syntax

  
sp_addrole [ @rolename = ] 'role' [ , [ @ownername = ] 'owner' ]   

引数Arguments

[ @rolename = ] 'role' 新しいデータベースロールの名前を指定します。[ @rolename = ] 'role' Is the name of the new database role. rolesysnameで、既定値はありません。role is a sysname, with no default. ロール は有効な識別子 (ID) である必要があり、現在のデータベースに存在していない必要があります。role must be a valid identifier (ID) and must not already exist in the current database.

[ @ownername = ] 'owner' 新しいデータベースロールの所有者を示します。[ @ownername = ] 'owner' Is the owner of the new database role. ownersysnameで、既定値は現在実行中のユーザーです。owner is a sysname, with a default of the current executing user. 所有者 は、現在のデータベースのデータベースユーザーまたはデータベースロールである必要があります。owner must be a database user or database role in the current database.

リターン コードの値Return Code Values

0 (成功) または 1 (失敗)0 (success) or 1 (failure)

解説Remarks

データベースロールの名前には、 SQL ServerSQL Server 1 ~ 128 文字を含めることができます (文字、記号、数字を含む)。The names of SQL ServerSQL Server database roles can contain from 1 through 128 characters, including letters, symbols, and numbers. データベースロールの名前には、円記号 ( \ )、NULL、または空の文字列 (' ') を含めることはできません。The names of database roles cannot :contain a backslash character (\), be NULL, or an empty string ('').

データベースロールを追加した後、 sp_addrolemember (transact-sql) を使用してプリンシパルをロールに追加します。After you add a database role, use sp_addrolemember (Transact-SQL) to add principals to the role. GRANT、DENY、または REVOKE ステートメントを使用してデータベースロールに権限を適用すると、データベースロールのメンバーは、権限がそのアカウントに直接適用されているかのように権限を継承します。When GRANT, DENY, or REVOKE statements are used to apply permissions to the database role, members of the database role inherit those permissions as if the permissions were applied directly to their accounts.

注意

新しいサーバーロールを作成することはできません。New server roles cannot be created. ロールは、データベース レベルでのみ作成できます。Roles can only be created at the database level.

sp_addrole は、ユーザー定義のトランザクション内では使用できません。sp_addrole cannot be used inside a user-defined transaction.

アクセス許可Permissions

データベースに対する CREATE ROLE 権限が必要です。Requires CREATE ROLE permission on the database. スキーマを作成する場合は、データベースに CREATE SCHEMA が必要です。If creating a schema, requires CREATE SCHEMA on the database. Ownerがユーザーまたはグループとして指定されている場合、そのユーザーまたはグループに対して IMPERSONATE が必要です。If owner is specified as a user or group, requires IMPERSONATE on that user or group. Ownerがロールとして指定されている場合、そのロールまたはそのロールのメンバーに対する ALTER 権限が必要です。If owner is specified as a role, requires ALTER permission on that role or on a member of that role. Owner がアプリケーションロールとして指定されている場合は、そのアプリケーションロールに対する ALTER 権限が必要です。If owner is specified as an application role, requires ALTER permission on that application role.

Examples

次の例では、Managers という新しいロールを現在のデータベースに追加します。The following example adds a new role called Managers to the current database.

EXEC sp_addrole 'Managers';  

関連項目See Also

システムストアドプロシージャ (Transact-sql) System Stored Procedures (Transact-SQL)
セキュリティストアドプロシージャ (Transact-sql) Security Stored Procedures (Transact-SQL)
CREATE ROLE (Transact-SQL)CREATE ROLE (Transact-SQL)