SUSER_NAME (Transact-SQL)
適用於:SQL Server Azure SQL 受控執行個體 Azure Synapse Analytics (僅限無伺服器 SQL 集區)Microsoft網狀架構倉儲中的 SQL 分析端點Microsoft Fabric
傳回使用者的登入識別名稱。
語法
SUSER_NAME ( [ server_user_id ] )
引數
server_user_id
使用者的登入識別碼。 server_user_id (選擇性) 為 int。server_user_id 可以是有 SQL Server 執行個體連線權限的任何 SQL Server 登入或 Windows 使用者或群組的登入識別碼。 若未指定 server_user_id,就會傳回目前使用者的登入識別名稱。 如果 參數包含 這個字 NULL
,則會傳 NULL
回 。
傳回類型
nvarchar(128)
備註
SUSER_NAME
只會針對在 或 sys.sql_logins
目錄檢視中具有專案之sys.server_principals
登入傳回登入名稱。
SUSER_NAME
可用在選取清單、WHERE 子句及任何允許使用運算式的位置中。 請在 SUSER_NAME
之後使用括弧,即使未指定任何參數也一樣。
注意
雖然 Azure SQL Database 支援 SUSER_NAME
函式,但 Azure SQL Database 不支援使用 SUSER_NAME
的 EXECUTE AS。
範例
A. 使用SUSER_NAME
下列範例會傳回登入識別碼是 1
之使用者的登入識別名稱。
SELECT SUSER_NAME(1);
B. 不使用標識碼SUSER_NAME
下列範例不指定識別碼來尋找目前使用者的名稱。
SELECT SUSER_NAME();
GO
在 SQL Server 中,以下是Microsoft Entra ID 驗證登入的結果集:
contoso\username
在 Azure SQL 資料庫 和 Microsoft Fabric 中,以下是已驗證登入Microsoft Entra ID 的結果集:
username@contoso.com