2017-02-10 10 views
0

特定の期間に実行されている、またはすでに実行されているジョブのSPIDを見つけるのが難しいです。誰が私がそれを見つけることができるか知っていますか?私はmaster.sys.sysprocessesテーブルを見て、SQL Serverに知られているspidを見つけることができることを知っています。実行中または既に実行されているSQL Agentジョブのspidを見つける方法はありますか?

これは私の多くの試みの一つである:

SELECT  TOP (100) PERCENT sj.name, sja.run_requested_date, CONVERT(VARCHAR(12), sja.stop_execution_date - sja.start_execution_date, 114) AS Duration, sj.job_id, sj.enabled 
FROM   msdb.dbo.sysjobactivity AS sja INNER JOIN 
         msdb.dbo.sysjobs AS sj ON sja.job_id = sj.job_id 
WHERE  (sja.run_requested_date IS NOT NULL) AND (CONVERT(VARCHAR(12), sja.stop_execution_date - sja.start_execution_date, 114) > CONVERT(VARCHAR(12), '00:00:02:000', 114)) 
ORDER BY sja.run_requested_date DESC 

答えて

0

私は、この情報を取得するためにアダムMachanicのsp_WhoIsActiveを使用しています。
sp_WhoIsActive
過去のデータについては毎分実行し、出力をテーブルにキャプチャします。 Brent Ozarにはこれを行う方法に関する記事がありますHere

関連する問題