日期:2014-05-18  浏览次数:20590 次

【SSIS】查詢當前正在運行的job
我原本寫過一個監控系統,主要是用來郵件提示job失敗的信息,但是最近發生個異常,某job運行死鎖整整運行6天將重要的系統弄癱瘓了

於是想寫個sql來檢測當前運行的job那些已運行一小時以上

原本sysjobhistory中有個run_status 據說值為4的時候就是正在運行,可是,實際操作卻完全沒用,請各位幫幫指正,指點迷津,感激不盡~~~



------解决方案--------------------
SQL code

--1
USE msdb ;
GO

EXEC dbo.sp_help_jobactivity ;
GO

--2
select * 
from msdb.dbo.sysjobactivity 
where datediff(hh,start_execution_date ,stop_execution_date) > 1

------解决方案--------------------
select *
from jobhistory
where 
run_duration/10000 >1
------解决方案--------------------
探讨

引用:
SQL code

--1
USE msdb ;
GO

EXEC dbo.sp_help_jobactivity ;
GO

--2
select *
from msdb.dbo.sysjobactivity
where datediff(hh,start_execution_date ,stop_execution_date) > 1

……