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_dropusersp_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 (Transact-SQL). 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 CONNECTwiderrufen, 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