2009-08-19 87 views
3

是否有可能檢查是否有任何存儲過程當前在SQL Server中運行?檢查存儲過程是否正在運行?

+0

SQL 2000或2005/8?這兩種工具非常不同。 – Anon246 2009-08-20 01:04:43

+0

我正在使用SQL Server 2005 – 2009-08-20 05:34:18

+0

可能重複[Sql Server 2000 - 如何找出當前正在運行的存儲過程?](http://stackoverflow.com/questions/129086/sql-server-2000-how -can-i-find-out-what-stored-procedures-are-running-currentl) – CodeCaster 2013-11-27 08:03:09

回答

0

管理工作室中有活動監視器。還有sp_who和sp_who2。這些可以讓你瞭解正在運行的內容。但是,如果您需要以編程方式查明某個過程是否「正在進行」,或者爲避免再次調用該過程,那麼我會考慮在某處標記一個標誌,以指示您在開始和結束時設置的「SPIsRunning」程序本身。

0

通過TSQL,您可以嘗試評估每個SPID的DBCC INPUTBUFFER的結果,但這樣做非常麻煩。

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/

+0

這是一個很好的查詢,但只會告訴你最後一次啓動過程,而不是如果它仍在運行 – 2009-08-19 12:13:52

0

如果你只是想看看活動中使用SQL事件探查器跟蹤存儲過程起始&完成。也許這對你有幫助。

相關問題