如何在CLR触发器中获取当前正在执行的命令的sql server用户名?

时间:2009-06-29 17:52:50

标签: sql-server sqlclr

我知道SqlContext.WindowsIdentity返回正在执行命令的当前用户(在CLR触发器中),但是,这仅适用于经过Windows身份验证的用户。如果是sql server用户,我如何获得用户名?任何帮助表示赞赏。

3 个答案:

答案 0 :(得分:11)

尝试在SQL Server中使用SUSER_NAME()函数。这将返回当前用户。

答案 1 :(得分:5)

尝试使用SYSTEM_USER。

SELECT SYSTEM_USER

答案 2 :(得分:0)

您可以使用当前连接的上下文,从连接对象中获取所需的一切。

像这样(在C#中):

SqlConnection connection = new SqlConnection("context connection=true");