SUSER_NAME (Transact-SQL)

Applies to: SQL Server Azure SQL Managed Instance Azure Synapse Analytics (serverless SQL pool only) SQL analytics endpoint in Microsoft Fabric Warehouse in Microsoft Fabric

Returns the login identification name of the user.

Transact-SQL syntax conventions

Syntax

SUSER_NAME ( [ server_user_id ] )

Arguments

server_user_id

The login identification number of the user. server_user_id, which is optional, is int. server_user_id can be the login identification number of any SQL Server login or Windows user or group that has permission to connect to an instance of SQL Server. When server_user_id isn't specified, the login identification name for the current user is returned. If the parameter contains the word NULL, it returns NULL.

Return type

nvarchar(128)

Remarks

SUSER_NAME returns a login name only for a login that has an entry in the sys.server_principals or sys.sql_logins catalog views.

SUSER_NAME can be used in a select list, in a WHERE clause, and anywhere an expression is allowed. Use parentheses after SUSER_NAME, even if no parameter is specified.

Note

Although the SUSER_NAME function is supported on Azure SQL Database, using EXECUTE AS with SUSER_NAME is not supported on Azure SQL Database.

Examples

A. Use SUSER_NAME

The following example returns the login identification name of the user with a login identification number of 1.

SELECT SUSER_NAME(1);

B. Use SUSER_NAME without an ID

The following example finds the name of the current user without specifying an ID.

SELECT SUSER_NAME();  
GO  

In SQL Server, here is the result set for a Microsoft Entra ID authenticated login:

contoso\username  

In Azure SQL Database and Microsoft Fabric, here is the result set for a Microsoft Entra ID authenticated login:

username@contoso.com