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
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 USER .
Transact-SQL-Syntaxkonventionen
Syntax
sp_dropuser [ @name_in_db = ] N'name_in_db'
[ ; ]
Argumente
[ @name_in_db = ] N'name_in_db'
Der Name des zu entfernenden Benutzers. @name_in_db ist "sysname" ohne Standard. @name_in_db muss in der aktuellen Datenbank vorhanden sein. Wenn Sie ein Windows-Konto angeben, verwenden Sie den Namen, mit dem die Datenbank dieses Konto kennt.
Rückgabecodewerte
0
(erfolgreich) oder 1
Fehler.
Hinweise
sp_dropuser
sp_revokedbaccess
wird ausgeführt, um den Benutzer aus der aktuellen Datenbank zu entfernen.
Dient sp_helpuser
zum Anzeigen einer Liste der Benutzernamen, 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 demselben Namen wie der Benutzer besitzt, wird das Schema gelöscht. Wenn der Benutzer über andere sicherungsfähige Elemente in der Datenbank verfügt, 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. Durch das Entfernen eines Datenbankbenutzers werden automatisch die berechtigungen entfernt, die diesem Benutzer zugeordnet sind, und der Benutzer aus allen Datenbankrollen entfernt, deren Mitglied er ist.
sp_dropuser
kann nicht zum Entfernen des Datenbankbesitzers (dbo) INFORMATION_SCHEMA
oder des Gastbenutzers aus den master
Datenbanken tempdb
verwendet werden. In Nichtsystemdatenbanken EXEC sp_dropuser 'guest'
wird die Berechtigung des Gastbenutzers CONNECT
widerrufen, der Benutzer selbst wird jedoch nicht gelöscht.
sp_dropuser
kann nicht innerhalb einer benutzerdefinierten Transaktion ausgeführt werden.
Berechtigungen
Erfordert die ALTER ANY USER
-Berechtigung für die Datenbank.
Beispiele
Im folgenden Beispiel wird der Benutzer Albert
aus der aktuellen Datenbank entfernt.
EXEC sp_dropuser 'Albert';
GO