sp_droprolemember (Transact-SQL)
適用対象: SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
現在のデータベースの SQL Server ロールからセキュリティ アカウントを削除します。
重要
この機能は、 SQL Serverの将来のバージョンで削除される予定です。 新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションは修正することを検討してください。 代わりに ALTER ROLE を使用してください。
構文
SQL Server と Azure SQL Edge の構文:
sp_droprolemember
[ @rolename = ] N'rolename'
, [ @membername = ] N'membername'
[ ; ]
Azure Synapse Analytics と Parallel Data Warehouse の構文:
sp_droprolemember N'rolename', 'membername'
[ ; ]
Note
この構文は、Azure Synapse Analytics のサーバーレス SQL プールでサポートされていません。
引数
[ @rolename = ] N'rolename'
メンバーが削除されるロールの名前。 @rolename は sysname で、既定値はありません。 @rolename は、現在のデータベースに存在する必要があります。
[ @membername = ] N'membername'
ロールから削除されるセキュリティ アカウントの名前。 @membername は sysname で、既定値はありません。 @membername には、データベース ユーザー、別のデータベース ロール、Windows アカウント、または Windows グループを指定できます。 @membername は、現在のデータベースに存在する必要があります。
リターン コードの値
0
(成功) または 1
(失敗)。
解説
sp_droprolemember
は、 sysmembers
テーブルから行を削除することで、データベース ロールからメンバーを削除します。 メンバーがロールから削除されると、そのメンバーは、そのロールのメンバーシップによって持っているアクセス許可を失います。
固定サーバー ロールからユーザーを削除するには、 sp_dropsrvrolemember
を使用します。 ユーザーをパブリック ロールから削除することはできません。また、dbo をどのロールからも削除することはできません。
sp_helpuser
を使用して SQL Server ロールのメンバーを表示し、ALTER ROLE を使用してロールにメンバーを追加します。
アクセス許可
ロール ALTER
アクセス許可が必要です。
例
次の例では、ロール JonB
からユーザー Sales
を削除します。
EXEC sp_droprolemember 'Sales', 'Jonb';
例: Azure Synapse Analytics、Analytics Platform System (PDW)
次の例では、ロール JonB
からユーザー Sales
を削除します。
EXEC sp_droprolemember 'Sales', 'JonB'