sp_dropuser (Transact-SQL)
Gilt für:SQL Server
Entfernt einen Datenbankbenutzer aus der aktuellen Datenbank. sp_dropuser bietet Kompatibilität mit früheren Versionen von SQL Server.
Wichtig
Dieses Feature wird in einer künftigen Version von Microsoft SQL Server entfernt. Nutzen Sie diese Funktionen bei Neuentwicklungen nicht mehr, und planen Sie die Änderung von Anwendungen, die diese Funktion zurzeit verwenden. Verwenden Sie stattdessen DROP USER .
Transact-SQL-Syntaxkonventionen
Syntax
sp_dropuser [ @name_in_db = ] 'user'
Argumente
[ @name_in_db = ] 'user'
Der Name des zu entfernenden Benutzers. user is a sysname, with no default. Der Benutzer muss in der aktuellen Datenbank vorhanden sein. Wenn Sie einen Windows-Anmeldenamen angeben, verwenden Sie den Namen, mit dem der Anmeldename von der Datenbank identifiziert wird.
Rückgabecodewerte
„0“ (erfolgreich) oder „1“ (fehlerhaft)
Bemerkungen
sp_dropuser führt sp_revokedbaccess aus, um den Benutzer aus der aktuellen Datenbank zu entfernen.
Verwenden Sie sp_helpuser , um eine Liste der Benutzernamen anzuzeigen, die aus der aktuellen Datenbank entfernt werden können.
Wenn ein Datenbankbenutzer entfernt wird, werden auch alle Aliase für diesen Benutzer entfernt. Wenn der Benutzer ein leeres Schema mit dem gleichen Namen wie der Benutzer besitzt, wird das Schema gelöscht. Wenn der Benutzer andere sicherungsfähige Elemente in der Datenbank besitzt, wird der Benutzer nicht gelöscht. Der Besitz der Objekte muss zuerst auf einen anderen Prinzipal übertragen werden. Weitere Informationen finden Sie unter ALTER AUTHORIZATION (Transact-SQL). Beim Entfernen eines Datenbankbenutzers werden automatisch die Berechtigungen dieses Benutzers entfernt, und der Benutzer wird aus allen Datenbankrollen entfernt, in denen er Mitglied ist.
sp_dropuser kann nicht verwendet werden, um den Datenbankbesitzer (dbo) INFORMATION_SCHEMA Benutzer oder den Gastbenutzer aus den Master- oder tempdb-Datenbanken zu entfernen. In Nichtsystemdatenbanken EXEC sp_dropuser 'guest'
widerruft benutzerseitig die CONNECT-Berechtigung. Der Benutzer selbst wird jedoch nicht gelöscht.
sp_dropuser können nicht innerhalb einer benutzerdefinierten Transaktion ausgeführt werden.
Berechtigungen
Erfordert die ALTER ANY USER-Berechtigung in der Datenbank.
Beispiele
Im folgenden Beispiel wird der Benutzer Albert
aus der aktuellen Datenbank entfernt.
EXEC sp_dropuser 'Albert';
GO
Weitere Informationen
Gespeicherte Sicherheitsprozeduren (Transact-SQL)
sp_grantdbaccess (Transact-SQL)
DROP USER (Transact-SQL)
sp_revokedbaccess (Transact-SQL)
Gespeicherte Systemprozeduren (Transact-SQL)