Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy do:SQL ServerAzure
SQL Managed InstanceAzure
Synapse Analytics (serverless SQL pool only)
SQL analytics endpoint in Microsoft FabricWarehouse
in 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