我确信这已被问过,但搜索没有回答。
在存储过程中,如何获取调用存储过程(name?)的用户/登录的值,假设我还没有server_user_id
答案 0 :(得分:1)
in sql 2005
选择suser_name()
http://msdn.microsoft.com/en-us/library/ms187934.aspx
SUSER_NAME([server_user_id]) server_user_id
是用户的登录标识号。 server_user_id是可选的,是int。 server_user_id可以是任何SQL Server登录名或具有连接到SQL Server实例权限的Microsoft Windows用户或组的登录标识号。如果未指定server_user_id,则返回当前用户的登录标识名称。
-
编辑:刚尝试使用Microsoft SQL Server 2008(SP1) - 10.0.2531.0(X64)
具有集成和SQL安全性
以及所有这些:
select suser_name()
select suser_sname()
select original_login()
select system_user
正确返回已登录的用户...我猜您的配置存在问题......
saludos
SAS