SUSER_NAME (Transact-SQL)

Dotyczy do:SQL ServerAzureSQL Managed InstanceAzureSynapse Analytics (serverless SQL pool only)SQL analytics endpoint in Microsoft FabricWarehousein Microsoft Fabric

Zwraca nazwę użytkownika jako nazwę logowania.

Transact-SQL konwencje składni

Składnia

SUSER_NAME ( [ server_user_id ] )

Argumenty

server_user_id

Numer identyfikacyjny użytkownika do logowania. server_user_id, który jest opcjonalny, to inteligencja. server_user_id może być numerem identyfikacyjnym dowolnego SQL Server logowania lub Windows użytkownika lub grupy, która ma uprawnienia do łączenia się z instancją SQL Server. Gdy server_user_id nie jest określona, zwracana jest nazwa logowania aktualnego użytkownika. Jeśli parametr zawiera słowo NULL, zwraca NULL.

Typ zwracany

nvarchar(128)

Remarks

SUSER_NAME Zwraca nazwę logowania tylko dla logowania, które ma wpis w widokach sys.server_principals katalogu OR sys.sql_logins .

SUSER_NAME może być używany w liście select, w klauzuli WHERE oraz wszędzie tam, gdzie dozwolone jest wyrażenie. Używaj nawiasów po SUSER_NAME, nawet jeśli nie podano parametru.

Note

Chociaż funkcja ta SUSER_NAME jest obsługiwana w Azure SQL Database, użycie EXECUTE AS z nim SUSER_NAME nie jest obsługiwane w Azure SQL Database.

Examples

A. Użyj SUSER_NAME

Poniższy przykład zwraca nazwę identyfikacyjną użytkownika z numerem identyfikacyjnym logowania .1

SELECT SUSER_NAME(1);

B. Używaj SUSER_NAME bez dowodu tożsamości

Poniższy przykład znajduje nazwę aktualnego użytkownika bez podania ID.

SELECT SUSER_NAME();  
GO  

W SQL Server oto zestaw wyników dla logowania uwierzytelnionego przez Microsoft Entra ID:

contoso\username  

W Azure SQL Database i Microsoft Fabric oto zestaw wyników dla logowania uwierzytelnionego przez Microsoft Entra ID:

username@contoso.com