如何在“EXECUTE AS OWNER”中获取WINDOWS USER

时间:2014-08-13 08:56:05

标签: sql sql-server sql-server-2008-r2

是否有一个函数在“EXECUTE AS OWNER”的过程中返回WINDOWS USER(不是数据库用户!)?

ORIGINAL_LOGIN()会这样做,还是仅返回数据库用户?

考虑以下情况:

  • Windows用户“joe”和“anne”是Active Directory组的一部分,例如“规划师”
  • SQL Server数据库具有“PLANNERS”作为服务器登录和数据库用户。
  • 存储过程WITH EXECUTE AS OWNER

现在,anne正在通过Windows身份验证登录SQL数据库(因此她是数据库用户“PLANNERS”),并且她调用了该过程。在此过程中,我想要检索Windows用户(“anne”)。

1 个答案:

答案 0 :(得分:1)

ORIGINAL_LOGIN()是正确的答案。

再次需要它;) 谢谢@deterministicfail