sp_revokelogin (Transact-SQL)
適用対象: SQL Server
CREATE LOGIN
、sp_grantlogin
、またはsp_denylogin
を使用して作成された Windows ユーザーまたはグループのログイン エントリを SQL Server から削除します。
重要
この機能は、 SQL Serverの将来のバージョンで削除される予定です。 新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションは修正することを検討してください。 代わりに DROP LOGIN を使用してください。
構文
sp_revokelogin [ @loginame = ] N'loginame'
[ ; ]
引数
[ @loginame = ] N'loginame'
Windows ユーザーまたはグループの名前。 @loginame は sysname で、既定値はありません。 @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_revokelogin
は ADVWORKS\john
のアクセスを取り消します。
EXEC sp_revokelogin [ADVWORKS\john]
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];