sp_revokelogin (Transact-SQL)

適用対象: SQL Server

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

重要

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

Transact-SQL 構文表記規則

構文

sp_revokelogin [ @loginame = ] N'loginame'
[ ; ]

引数

[ @loginame = ] N'loginame'

Windows ユーザーまたはグループの名前。 @loginamesysname で、既定値はありません。 @loginame は、 <ComputerName>\<User> または <Domain>\<User>のフォーム内の任意の既存の Windows ユーザー名またはグループにすることができます。

リターン コードの値

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

解説

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

たとえば、Windows ユーザー ADVWORKS\john が Windows グループ ADVWORKS\Adminsのメンバーであり、 sp_revokeloginADVWORKS\johnのアクセスを取り消します。

EXEC sp_revokelogin [ADVWORKS\john]

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

sp_denyloginを使用すると、Windows グループ メンバーシップに関係なく、ユーザーが SQL Server のインスタンスに接続することを明示的に防止できます。

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

アクセス許可

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

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

EXEC sp_revokelogin 'Corporate\MollyA';

または

EXEC sp_revokelogin [Corporate\MollyA];