sp_droprolemember (Transact-SQL)

現在のデータベースの SQL Server ロールからセキュリティ アカウントを削除します。

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

構文

sp_droprolemember [ @rolename = ] 'role' , 
          [ @membername = ] 'security_account'

引数

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

  • [ @membername = ] 'security_account'
    ロールから削除するセキュリティ アカウントの名前を指定します。security_account のデータ型は sysname で、既定値はありません。security_account は、データベース ユーザー、別のデータベース ロール、Windows ログイン、または Windows グループです。security_account は現在のデータベースに存在する必要があります。

リターン コードの値

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

説明

sp_droprolemember は、sysmembers テーブルから行を削除することにより、データベース ロールからメンバを削除します。メンバがロールから削除されると、メンバはそのロール内のメンバシップに基づくすべての権限を失います。

ユーザーを固定サーバー ロールから削除するには、sp_dropsrvrolemember を使用します。public ロールからユーザーを削除することはできません。また、どのロールからも dbo は削除できません。

SQL Server ロールのメンバを確認するには、sp_helpuser を使用します。ロールにメンバを追加するには、sp_addrolemember を使用します。

sp_droprolemember をユーザー定義のトランザクションの内部で実行することはできません。

権限

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

次の例では、ロール Sales からユーザー JonB を削除します。

EXEC sp_droprolemember 'Sales', 'Jonb'