Sql Server 2000 - 如何找出当前正在运行的存储过程?

时间:2008-09-24 18:52:47

标签: sql-server

我想知道当前正在运行哪些存储过程来诊断某些性能问题。我怎么能找到它?

5 个答案:

答案 0 :(得分:4)

用于分析锁和死锁的非常有用的脚本:http://www.sommarskog.se/sqlutil/aba_lockinfo.html

显示程序或触发器和当前语句。

答案 1 :(得分:2)

您可以使用SQL事件探查器找到它。

编辑: 如果您可以停止正在运行的应用程序,则可以启动SQL事件探查器,运行该应用程序并查看正在运行的内容,包括存储过程。

答案 2 :(得分:2)

我认为您可以执行sp_who2来获取连接列表,但是您需要在特定连接上通过SQL事件探查器运行跟踪以查看它正在执行的内容。我认为这不适用于已经运行的查询。

答案 3 :(得分:2)

DBCC INPUTBUFFER将显示spid上输入的前255个字符(您可以使用sp_who2来确定您感兴趣的spid)。要查看整个命令,可以使用::fn_get_sql()

答案 4 :(得分:1)

使用Enterprise Manager,您可以打开“管理树”部分,然后选择“当前活动” - >流程信息双击进程ID将显示该进程正在运行的内容。如果是存储过程,则不会显示参数。为此,最好使用Brian Kim建议使用SQL Profiler。