Freigeben über


SUSER_NAME (Transact-SQL)

Gilt für: SQL Server Azure SQL verwaltete Instanz Azure Synapse Analytics (nur serverlose SQL-Pool) SQL-Analyseendpunkt in Microsoft Fabric Warehouse in Microsoft Fabric Fabric

Gibt den Anmeldenamen des Benutzers zurück.

Transact-SQL-Syntaxkonventionen

Syntax

SUSER_NAME ( [ server_user_id ] )

Argumente

server_user_id

Die numerische Anmelde-ID des Benutzers. server_user_id (optional) hat den Datentyp int. server_user_id kann die Anmelde-ID einer beliebigen SQL Server-Anmeldung oder eines Windows-Benutzers bzw. einer Windows-Gruppe mit der Berechtigung zum Herstellen einer Verbindung mit einer Instanz von SQL Server sein. Wenn server_user_id nicht angegeben wird, wird der Anmeldename für den aktuellen Benutzer zurückgegeben. Wenn der Parameter das Wort NULL enthalten ist, wird NULL zurückgegeben.

Rückgabetyp

nvarchar(128)

Hinweise

SUSER_NAME gibt einen Anmeldenamen für nur eine Anmeldung zurück, für die es einen Eintrag in der sys.server_principals- oder sys.sql_logins-Systemtabelle gibt.

SUSER_NAME kann in einer Auswahlliste, in einer WHERE-Klausel und überall dort verwendet werden, wo ein Ausdruck zulässig ist. Verwenden Sie Klammern nach SUSER_NAME, auch wenn kein Parameter angegeben wird.

Hinweis

Obwohl die SUSER_NAME-Funktion in Azure SQL-Datenbank unterstützt wird, wird die Verwendung von EXECUTE AS mit SUSER_NAME nicht in Azure SQL-Datenbank unterstützt.

Beispiele

A. Verwenden von SUSER_NAME

Das folgende Beispiel gibt die Anmelde-ID des Benutzers mit der numerischen Anmelde-ID 1 zurück.

SELECT SUSER_NAME(1);

B. Verwenden von SUSER_NAME ohne ID

Das folgende Beispiel sucht nach dem Namen des aktuellen Benutzers, ohne eine ID anzugeben.

SELECT SUSER_NAME();  
GO  

In SQL Server sehen Sie hier das Resultset für eine authentifizierte Microsoft Entra-ID:

contoso\username  

In Azure SQL-Datenbank und Microsoft Fabric ist hier das Resultset für eine authentifizierte Microsoft Entra-ID:

username@contoso.com