SUSER_NAME (Transact-SQL)

適用于: SQL Server Azure SQL 受控執行個體 Azure Synapse Analytics (僅限無伺服器 SQL 集區) Microsoft Fabric 倉儲中的 SQL 分析端點

傳回使用者的登入識別名稱。

Transact-SQL 語法慣例

Syntax

SUSER_NAME ( [ server_user_id ] )

注意

若要檢視 SQL Server 2014 (12.x) 和舊版的 Transact-SQL 語法,請參閱 舊版檔

引數

server_user_id

使用者的登入識別碼。 server_user_id (選擇性) 為 intserver_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