USER_ID (Transact-SQL)

Gibt die ID eines Datenbankbenutzers zurück.

Wichtiger HinweisWichtig

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

Themenlink (Symbol) Transact-SQL-Syntaxkonventionen

Syntax

USER_ID ( [ 'user' ] )

Argumente

  • user
    Der zu verwendende Benutzername. user ist vom Datentyp nchar. Falls ein char-Wert angegeben wird, wird dieser implizit in nchar konvertiert. Die Klammern sind erforderlich.

Rückgabetypen

int

Hinweise

Wenn user nicht angegeben ist, wird der aktuelle Benutzer verwendet. Wenn der Parameter das Wort NULL enthält, wird NULL zurückgegeben. Wird USER_ID nach der Ausführung von EXECUTE AS aufgerufen, gibt USER_ID die ID des Kontexts nach dem Identitätswechsel zurück.

Wenn ein Windows-Prinzipal, der keinem spezifischen Datenbankbenutzer zugeordnet ist, über die Mitgliedschaft in einer Gruppe auf eine Datenbank zugreift, gibt USER_ID den Wert 0 (die ID von public) zurück. Falls ein solcher Prinzipal ein Objekt ohne Angabe eines Schemas erstellt, erstellt SQL Server einen impliziten Benutzer und ein Schema, das dem Windows-Prinzipal zugeordnet ist. Der in diesem Szenario erstellte Benutzer kann nicht zum Herstellen einer Verbindung mit der Datenbank verwendet werden. Bei Aufrufen von USER_ID durch einen Windows-Prinzipal, der einem impliziten Benutzer zugeordnet ist, wird die ID des impliziten Benutzers zurückgegeben.

USER_ID kann in einer Auswahlliste, in einer WHERE-Klausel und überall dort verwendet werden, wo ein Ausdruck zulässig ist. Weitere Informationen finden Sie unter Ausdrücke (Transact-SQL).

Beispiele

Im folgenden Beispiel wird die ID für den AdventureWorks2012-Benutzer Harold zurückgegeben.

USE AdventureWorks2012;
SELECT USER_ID('Harold');
GO

Siehe auch

Verweis

USER_NAME (Transact-SQL)

sys.database_principals (Transact-SQL)

DATABASE_PRINCIPAL_ID (Transact-SQL)

Sicherheitsfunktionen (Transact-SQL)