SUSER_NAME (Transact-SQL)
适用于:sql Server Azure SQL 托管实例 Azure Synapse Analytics(仅限无服务器 SQL 池)Microsoft Fabric Warehouse 中的 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.server_principals
或 sys.sql_logins
目录视图中有登录条目的登录名。
SUSER_NAME
可以在 SELECT 列表、WHERE 子句和任何允许使用表达式的地方使用。 即使未指定任何参数,也请在 SUSER_NAME
后使用括号。
注意
尽管 Azure SQL 数据库支持 SUSER_NAME
函数,但 Azure SQL 数据库不支持使用 SUSER_NAME
的 EXECUTE AS。
示例
A. 使用 SUSER_NAME
以下示例将返回登录标识号为 1
的用户的登录标识名。
SELECT SUSER_NAME(1);
B. 使用不指定 ID 的 SUSER_NAME
以下示例在不指定 ID 的情况下查找当前用户的名称。
SELECT SUSER_NAME();
GO
在 SQL Server 中,以下是经过身份验证的 Microsoft Entra ID 登录的结果集:
contoso\username
在 Azure SQL 数据库和 Microsoft Fabric 中,以下是经过身份验证的 Microsoft Entra ID 登录的结果集:
username@contoso.com