我想知道执行特定存储过程的应用程序名称。我们有许多应用程序,并且所有连接字符串中都有应用程序名称属性。在这里,我不完全知道哪个应用程序在调用该存储过程。我认为我们可以通过APP_NAME()来获取此信息,但不知道要获取正确的应用程序名称的确切查询。
SELECT APP_NAME()
答案 0 :(得分:0)
APP_NAME()是一个内置函数,用于从用于设置当前会话的连接字符串中返回“应用程序名称”令牌。
关于适当设置连接字符串,这里有一篇不错的文章: http://www.sqlerudition.com/using-a-meaningful-application-name-in-the-oledb-connection-string/
如果您无法控制连接字符串,那么您将需要使用其他会话变量的组合,例如SESSION_USER()或@@ SPID,并可能参考sys.dm_exec_sessions的dmv以获得完整记录。服务器“知道”有关连接的信息。
答案 1 :(得分:0)
如果您需要详细的信息,我建议通过选择rpc_completed
事件来使用扩展事件。 For detailed steps..