如何在SQL 2005中获取dbo的实际CURRENT_USER?

时间:2009-09-27 06:21:02

标签: sql sql-server sql-server-2005 tsql

我有一个存储过程,运行它来创建一个新的票号:

 INSERT INTO [Test_DB42].[dbo].[TicketNumber]
  ([On], [By])

VALUES     (CURRENT_TIMESTAMP,CURRENT_USER)

当我与具有db_datareader并执行权限的用户一起运行时,我获得了Active Directory samAccountName值,这是我想要的 - 该用户可以通过具有Login的AD组进行访问。

当我与具有sysadmin角色的用户一起运行时,它只是说'dbo'。此用途具有显式登录其AD帐户。

是否有更改此内容,或返回AD samAccountName或SQL登录名?

1 个答案:

答案 0 :(得分:8)

使用SUSER_SNAME()代替CURRENT_USER