次の方法で共有


sp_droprolemember (Transact-SQL)

適用対象: SQL Server Azure SQL データベース Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

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

重要

この機能は、 SQL Serverの将来のバージョンで削除される予定です。 新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションは修正することを検討してください。 代わりに ALTER ROLE を使用してください。

Transact-SQL 構文表記規則

構文

SQL Server と Azure SQL Edge の構文。

sp_droprolemember
    [ @rolename = ] N'rolename'
    , [ @membername = ] N'membername'
[ ; ]

Azure Synapse Analytics および Analytics Platform System (PDW) の構文。

sp_droprolemember N'rolename' , 'membername'
[ ; ]

Note

この構文は、Azure Synapse Analytics のサーバーレス SQL プールでサポートされていません。

引数

[ @rolename = ] N'rolename'

メンバーが削除されるロールの名前。 @rolenamesysname で、既定値はありません。 @rolename は、現在のデータベースに存在する必要があります。

[ @membername = ] N'membername'

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

リターン コードの値

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

解説

sp_droprolemember は、 sysmembers テーブルから行を削除することで、データベース ロールからメンバーを削除します。 メンバーがロールから削除されると、そのメンバーは、そのロールのメンバーシップによって持っているアクセス許可を失います。

固定サーバー ロールからユーザーを削除するには、 sp_dropsrvrolememberを使用します。 ユーザーを public ロールから削除することはできません。また、 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'