SQL Server:获取没有域的当前用户

Den*_*s G 22 sql-server

我知道我可以使用SELECT SUSER_SNAME()获取当前用户名.但是在AD环境中,我会让用户包括域名(例如"MyDomain\User").

是否有任何功能只能接收域名以外的用户名?

gbn*_*gbn 27

SELECT nt_username FROM sys.sysprocesses WHERE spid = @@SPID
Run Code Online (Sandbox Code Playgroud)

要么

SELECT nt_user_name FROM sys.dm_exec_sessions WHERE session_id = @@SPID
Run Code Online (Sandbox Code Playgroud)

  • SQL Server 2008 R2具有`nt_user_name`作为`sys.dm_exec_sessions`的列名. (3认同)

Mik*_*son 25

select stuff(suser_sname(), 1, charindex('\', suser_sname()), '')
Run Code Online (Sandbox Code Playgroud)

  • 当然我可以解析返回的字符串,但我喜欢使用内置的东西而不是字符串解析;-) (2认同)
  • 我更喜欢这种方法,因为它不依赖于具有会话的登录。它适用于您可以拼写的任何名称。 (2认同)