sp_revokelogin (Transact-SQL)

CREATE LOGIN、sp_grantlogin、または sp_denylogin を使用して作成された Windows ユーザーまたはグループ用のログイン エントリを SQL Server から削除します。

重要な注意事項重要

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

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

構文

sp_revokelogin [ @loginame= ] 'login'

引数

  • [ @loginame = ] 'login'
    Windows ユーザーまたはグループの名前を指定します。login のデータ型は sysname で、既定値はありません。login には、Computer name\User or Domain\User の形式で、既存の Windows ユーザーまたはグループを指定できます。

戻り値

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

説明

sp_revokelogin では、login パラメータで指定したアカウントを使用している接続が無効になりますが、Windows グループのメンバシップによって SQL Server インスタンスへのアクセスが許可されている Windows ユーザーは、個別のアクセスが取り消された後もグループとして接続できます。同様に、login パラメータで Windows グループの名前を指定した場合でも、SQL Server インスタンスへのアクセスが個別に許可されているグループのメンバは、引き続き接続できます。

たとえば、Windows ユーザー ADVWORKS\john が Windows グループ ADVWORKS\Admins のメンバである場合に、sp_revokelogin によって ADVWORKS\john のアクセス権を取り消すとします。

sp_revokelogin [ADVWORKS\john]

ADVWORKS\Admins に SQL Server インスタンスへのアクセスが許可されている場合は、ユーザー ADVWORKS\john は引き続き接続できます。同様に、Windows グループ ADVWORKS\Admins のアクセス権が取り消されても、ADVWORKS\john にアクセスが許可されていれば、ADVWORKS\john は引き続き接続できます。

Windows グループのメンバシップに関係なく、SQL Server インスタンスへの接続を明示的に禁止するには、sp_denylogin を使用します。

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

権限

サーバーに対する ALTER ANY LOGIN 権限が必要です。

次の例では、Windows ユーザー Corporate\MollyA 用のログイン エントリを削除します。

EXEC sp_revokelogin 'Corporate\MollyA'

または

EXEC sp_revokelogin [Corporate\MollyA]