SQL Server 2012:动态标识正在执行存储过程的用户名

时间:2015-04-17 12:57:11

标签: sql-server sql-server-2008-r2 sql-server-2012

如何识别正在执行存储过程的用户名。

例如,我有一个名为'GetEmployeeDetails'的存储过程。 对于此SP,我将授予对N个用户的执行访问权限,例如

GRANT EXECUTE ON GetEmployeeDetails TO User1
GRANT EXECUTE ON GetEmployeeDetails TO User2
GRANT EXECUTE ON GetEmployeeDetails TO User3

如何识别User1或User2或User3是否正在执行SP?

1 个答案:

答案 0 :(得分:0)

我认为您正在寻找SUSER_NAME(),它会返回当前连接用户的登录标识名称。

同样,您也可以使用SUSER_ID()返回当前连接用户的登录标识号。