我想知道当前正在运行的存储过程,以诊断一些性能问题。我该如何找到这个信息?
我认为你可以执行sp_who2来获取连接列表,但是你需要在特定的连接上通过SQL Profiler运行跟踪来查看它正在执行什么操作。不过,我认为这对于已经运行的查询无效。
DBCC INPUTBUFFER 可以显示 spid 上输入的前 255 个字符(您可以使用 sp_who2 确定您感兴趣的 spid)。要查看整个命令,您可以使用 ::fn_get_sql()。
使用企业管理器,您可以打开管理树部分,并选择当前活动 -> 进程信息。双击进程 ID 将显示该进程正在运行的内容。如果它是存储过程,则不会显示参数。为此,最好使用 Brian Kim 建议的 SQL Profiler。