SQL Server Profiler显示NtUsername。 如何在触发器中看到NTusername?
我不明白。 SQL Server Profiler显示Windows用户名。 SUSER_NAME,SUSER_SNAME ORIGINAL_LOGIN,USER,USER_NAME显示SQL用户帐户的用户名。我想要Profiler所展示的内容。如果探查者可以这样做,必须有办法。
答案 0 :(得分:1)
您使用SUSER_SNAME()
。不是SUSER_NAME()
。请注意额外的 S
SUSER_SNAME
返回连接用户(SQL Server 2000 +)SUSER_NAME
给出sys.server_principals.principal_id
(SQL Server 2005 +) SUSER_NAME
将为通过Windows组连接的Windows用户提供NULL,因为只有Windows组在sys.server_principals
中有一个条目
注意:
答案 1 :(得分:1)
由于我找不到如何获取NTUsername,我使用了HOST_NAME(),它给了我用户的机器名。
SUSER_NAME,SUSER_SNAME,ORIGINAL_LOGIN,USER,USER_NAME都给了我SQL帐户用户名。
答案 2 :(得分:0)
除非登录是Windows身份验证登录,否则NTUserName之间没有关联。但是因为suser_name()
没有返回你想要的东西,我假设你正在使用SQL Server身份验证。
在这种情况下,我不相信你能做到这一点。
答案 3 :(得分:0)
它表明您的案例中使用的协议是NamedPipes。