sp_revokelogin (Transact-SQL)
Gilt für: SQL Server
Entfernt die Anmeldeeinträge aus SQL Server für einen Windows-Benutzer oder eine Windows-Gruppe, der mit CREATE LOGIN
, sp_grantlogin
oder sp_denylogin
.
Wichtig
Diese Funktion wird in einer zukünftigen Version von SQL Serverentfernt. Nutzen Sie diese Funktionen bei Neuentwicklungen nicht mehr, und planen Sie die Änderung von Anwendungen, die diese Funktion zurzeit verwenden. Verwenden Sie stattdessen DROP LOGIN .
Transact-SQL-Syntaxkonventionen
Syntax
sp_revokelogin [ @loginame = ] N'loginame'
[ ; ]
Argumente
[ @loginame = ] N'loginame'
Der Name des Windows-Benutzers oder der Windows-Gruppe. @loginame ist "sysname" ohne Standard. @loginame kann ein beliebiger vorhandener Windows-Benutzername oder -Gruppe im Formular <ComputerName>\<User>
oder <Domain>\<User>
.
Rückgabecodewerte
0
(erfolgreich) oder 1
Fehler.
Hinweise
sp_revokelogin
deaktiviert Verbindungen mithilfe des durch @loginame angegebenen Kontos. Windows-Benutzer, denen über die Mitgliedschaft in einer Windows-Gruppe Zugriff auf eine Instanz von SQL Server gewährt wird, können sich weiterhin als Gruppe verbinden, nachdem ihr einzelner Zugriff widerrufen wurde. Wenn @loginame den Namen einer Windows-Gruppe angibt, können Mitglieder dieser Gruppe, die separat Zugriff auf die Sql Server-Instanz erhalten haben, weiterhin eine Verbindung herstellen.
Wenn z. B. Windows-Benutzer ADVWORKS\john
Mitglied der Windows-Gruppe ADVWORKS\Admins
ist und sp_revokelogin
den Zugriff auf ADVWORKS\john
:
EXEC sp_revokelogin [ADVWORKS\john]
Der Benutzer ADVWORKS\john
kann weiterhin eine Verbindung herstellen, wenn ADVWORKS\Admins
zugriff auf eine Instanz von SQL Server gewährt wird. Wenn die Windows-Gruppe ADVWORKS\Admins
den Zugriff widerrufen hat, aber ADVWORKS\john
Zugriff gewährt wird, ADVWORKS\john
kann die Verbindung weiterhin hergestellt werden.
Wird sp_denylogin
verwendet, um explizit zu verhindern, dass Benutzer eine Verbindung mit einer Instanz von SQL Server herstellen, unabhängig von ihren Windows-Gruppenmitgliedschaften.
sp_revokelogin
kann nicht innerhalb einer benutzerdefinierten Transaktion ausgeführt werden.
Berechtigungen
Erfordert die ALTER ANY LOGIN
-Berechtigung auf dem Server.
Beispiele
Im folgenden Beispiel werden die Anmeldenameneinträge für die Windows-Benutzerin Corporate\MollyA
entfernt.
EXEC sp_revokelogin 'Corporate\MollyA';
Oder
EXEC sp_revokelogin [Corporate\MollyA];