检查存储过程是否正在运行?

时间:2009-08-19 06:53:17

标签: sql-server

是否可以检查当前是否在SQL Server中运行任何存储过程???

5 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

管理工作室里有活动监控器。还有sp_who和sp_who2。这些将让您了解正在运行的内容。

但是,如果您需要以编程方式查明某个过程是否“正在进行”以避免再次调用它,那么我会考虑在某个地方标记一个标志,指示您在开始和结束时设置的“SPIsRunning”程序本身。

答案 2 :(得分:0)

通过TSQL,您可以尝试为每个SPID评估DBCC INPUTBUFFER的结果,但这样做非常麻烦。

答案 3 :(得分:0)

SELECT deqs.last_execution_time AS [Time], dest.TEXT AS [Query]
    FROM sys.dm_exec_query_stats AS deqs
            CROSS APPLY sys.dm_exec_sql_text(deqs.sql_handle) AS dest
    WHERE dest.TEXT LIKE '%YOUR OBJECT NAME HERE%'    
ORDER BY deqs.last_execution_time DESC

http://connectsql.blogspot.com/

答案 4 :(得分:0)

如果您只是想查看活动,请使用SQL事件探查器跟踪存储过程的开始&完成。也许这有助于你。