Freigeben über


sp_dropuser (Transact-SQL)

Entfernt einen Datenbankbenutzer aus der aktuellen Datenbank. sp_dropuser sorgt für die Kompatibilität mit früheren Versionen von SQL Server.

Wichtig

Diese Funktion wird in zukünftigen Versionen von Microsoft SQL Server nicht mehr bereitgestellt. Verwenden Sie diese Funktion beim Entwickeln neuer Anwendungen nicht, und planen Sie das Ändern von Anwendungen, in denen es zurzeit verwendet wird. Verwenden Sie stattdessen DROP USER.

Gilt für: SQL Server (SQL Server 2008 bis aktuelle Version).

Themenlink (Symbol) Transact-SQL-Syntaxkonventionen

Syntax

sp_dropuser [ @name_in_db = ] 'user'

Argumente

  • [ @name_in_db =] 'user'
    Der Name des Benutzers, der entfernt werden soll. user ist vom Datentyp sysname und hat keinen Standardwert. user 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 (Erfolg) oder 1 (Fehler)

Hinweise

sp_dropuser führt sp_revokedbaccess aus, um den Benutzer aus der aktuellen Datenbank zu entfernen.

Mithilfe von sp_helpuser zeigen Sie eine Liste der Benutzernamen an, 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.

Mithilfe von sp_dropuser können weder der Datenbankbesitzer (dbo), der INFORMATION_SCHEMA-Benutzer noch der guest-Benutzer aus den Datenbanken master oder tempdb entfernt werden. Bei anderen als Systemdatenbanken hebt EXEC sp_dropuser 'guest' die CONNECT-Berechtigung für den guest-Benutzer auf. 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

Siehe auch

Verweis

Gespeicherte Sicherheitsprozeduren (Transact-SQL)

sp_grantdbaccess (Transact-SQL)

DROP USER (Transact-SQL)

sp_revokedbaccess (Transact-SQL)

Gespeicherte Systemprozeduren (Transact-SQL)