sp_droprole (Transact-SQL)

適用対象:SQL Server

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

重要

SQL Server 2005 (9.x) sp_droprole では、DROP ROLE ステートメントに置き換えられました。 sp_droprole は、以前のバージョンの SQL Server との互換性のためにのみ含まれており、今後のリリースではサポートされない可能性があります。

Transact-SQL 構文表記規則

構文

sp_droprole [ @rolename = ] N'rolename'
[ ; ]

引数

[ @rolename = ] N'rolename'

現在のデータベースから削除するデータベース ロールの名前。 @rolenameは sysname で、既定値はありません。 @rolenameは、現在のデータベースに既に存在している必要があります。

リターン コードの値

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

解説

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

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

固定ロールと パブリック ロールは削除できません。

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

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

アクセス許可

ロールに対するアクセス許可が必要 CONTROL です。

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

EXEC sp_droprole 'Sales';
GO