sp_droprole (Transact-SQL)

現在のデータベースからデータベース ロールを削除します。

ms186716.note(ja-jp,SQL.90).gif重要 :
SQL Server 2005 では、sp_droprole は DROP ROLE ステートメントに置き換えられます。sp_droprole は、以前のバージョンの SQL Server との互換性を保つためにのみ用意されており、今後のリリースではサポートされない可能性があります。

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

構文

sp_droprole [ @rolename= ] 'role'

引数

  • [ @rolename = ] 'role'
    現在のデータベースから削除するデータベース ロールの名前を指定します。role のデータ型は sysname で、既定値はありません。role は現在のデータベースに存在する必要があります。

解説

sp_droprole を使用して削除できるのは、データベース ロールだけです。

メンバが既に存在するデータベース ロールは削除できません。データベース ロールを削除するには、あらかじめそのデータベース ロールのすべてのメンバを削除しておく必要があります。ユーザーをロールから削除するには、sp_droprolemember を使用します。ロールのメンバとなっているユーザーがまだ存在する場合、sp_droprole ではこれらのメンバが表示されます。

固定ロールと public ロールは削除できません。

ロールがセキュリティ保護可能なリソースを所有している場合、そのロールは削除できません。保護可能なアイテムを所有しているアプリケーション ロールを削除するには、先に保護可能なアイテムの所有権を移動するか削除する必要があります。削除禁止のオブジェクトの所有者を変更するには、ALTER AUTHORIZATION を使用します。

ユーザー定義のトランザクション内では、sp_droprole は実行できません。

権限

ロールに対する CONTROL 権限が必要です。

戻り値

0 (成功) または 1 (失敗)

次の例では、アプリケーション ロール Sales を削除します。

EXEC sp_droprole 'Sales';
GO

参照

関連項目

セキュリティ ストアド プロシージャ (Transact-SQL)
sp_addrole (Transact-SQL)
DROP ROLE (Transact-SQL)
ALTER AUTHORIZATION (Transact-SQL)
sp_dropapprole (Transact-SQL)
システム ストアド プロシージャ (Transact-SQL)

その他の技術情報

ユーザーとスキーマの分離

ヘルプおよび情報

SQL Server 2005 の参考資料の入手