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. |
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