sp_droprolemember (Transact-SQL)
現在のデータベースの SQL Server ロールからセキュリティ アカウントを削除します。
構文
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'