我有一个存储过程,它运行这个过程来创建一个新的票号:
INSERT INTO [Test_DB42].[dbo].[TicketNumber] ([On], [By])
(当前\u时间戳,当前\u用户)
当我与具有db_datareader和execute权限的用户一起运行时,我会获得我想要的Active Directory samAccountName值-该用户通过具有登录名的AD组获得访问权限。
当我与具有sysadmin角色的用户一起运行时,它只会说“dbo”。此使用具有其广告帐户的显式登录。
是否仍要更改此设置,或返回AD samAccountName或SQL登录名?
使用 SUSER_SNAME() 而不是 CURRENT_USER
SUSER_SNAME()
CURRENT_USER