代码之家  ›  专栏  ›  技术社区  ›  Russell Steen

确定哪个用户调用了我的存储过程

  •  3
  • Russell Steen  · 技术社区  · 15 年前

    我肯定有人问过这个问题,但是搜索没有返回答案。

    在存储过程中,如何获取调用存储过程(名称)的用户/登录名的值?,假设我还没有服务器用户ID

    1 回复  |  直到 15 年前
        1
  •  1
  •   Gabe Timothy Khouri    15 年前

    在SQL 2005中

    选择suser_name()。

    http://msdn.microsoft.com/en-us/library/ms187934.aspx

    suser_name([服务器\u user_id]) 服务器用户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()

    选择suser_sname()。

    选择原始登录名()

    选择系统用户

    正确返回记录的用户…我想你的配置有问题…

    萨鲁多斯

    SAS