簡體   English   中英

檢查存儲過程是否正在運行?

[英]Check if a stored proc is running?

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

管理工作室里有活動監控器。 還有sp_who和sp_who2。 這些將讓您了解正在運行的內容。

但是,如果您需要以編程方式查明某個過程是否“正在進行”以避免再次調用它,那么我會考慮在某個地方標記一個標志,指示您在過程本身的開始和結束時設置的“SPIsRunning”。

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

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/

如果您只是想查看活動,請使用SQL事件探查器跟蹤存儲過程的啟動和完成。 也許這有助於你。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM