Sql server 2008 确定哪个用户调用了我的存储过程
我肯定有人问过这个问题,但搜索并没有返回答案 在存储过程中,假设我在sql 2005中还没有server\u user\u id,如何获取调用存储过程的用户/登录名(名称?)的值 选择suser_name() 用户名称([server\u user\u id]) 服务器\用户\ id 是用户的登录标识号。server_user_id(可选)为int。server_user_id可以是具有连接SQL server实例权限的任何SQL server登录或Microsoft Windows用户或组的登录标识号。如果未指定服务器用户id,则返回当前用户的登录标识名 -- 编辑:刚刚在Microsoft SQL Server 2008(SP1)-10.0.2531.0(X64)上试用过 具有集成的sql和sql安全性 所有这些:Sql server 2008 确定哪个用户调用了我的存储过程,sql-server-2008,Sql Server 2008,我肯定有人问过这个问题,但搜索并没有返回答案 在存储过程中,假设我在sql 2005中还没有server\u user\u id,如何获取调用存储过程的用户/登录名(名称?)的值 选择suser_name() 用户名称([server\u user\u id]) 服务器\用户\ id 是用户的登录标识号。server_user_id(可选)为int。server_user_id可以是具有连接SQL server实例权限的任何SQL server登录或Microsoft Windows用户或组的
选择suser_name()
选择suser_sname()
选择原始登录()
选择系统用户
正确返回已登录的用户。。。我想你的配置有点问题
萨卢多斯
sas在sql 2008中返回空值,或者至少在我的实例中返回空值。mmm。。。现在手头没有sql 2008。。。可能选择original_login()???在sql 2005上,这些都返回已登录的用户select suser_name()select suser_sname()select original_login()select system_userYes,它似乎也适用于我的其他设置。这一定是一个奇怪的设置。