2011-07-06 36 views

回答

25
SELECT nt_username FROM sys.sysprocesses WHERE spid = @@SPID 

SELECT nt_user_name FROM sys.dm_exec_sessions WHERE session_id = @@SPID 
当然
+3

SQL Server 2008 R2有'nt_user_name'作为'sys.dm_exec_sessions'的列名。 – Guvante

+0

这需要用户可能无权访问的其他权限 – igorjrr

22
select stuff(suser_sname(), 1, charindex('\', suser_sname()), '') 
+2

我可以解析返回的字符串,但我喜欢使用内置的东西,而不是字符串解析;-) –

+1

我喜欢这种方法,因为它不取决于具有会话的登录。它适用于任何你可以拼写的名字。 –

+0

@IainElder在什么情况下你没有会议? – Jodrell