sp_revokelogin (Transact-SQL)
CREATE LOGIN、sp_grantlogin、または sp_denylogin を使用して作成された Windows ユーザーまたはグループ用のログイン エントリを SQL Server から削除します。
重要 |
---|
この機能は、将来のバージョンの Microsoft SQL Server では削除される予定です。新しい開発作業では、この機能の使用を避け、現在この機能を使用しているアプリケーションは修正するようにしてください。代わりに DROP LOGIN を使用してください。 |
構文
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]