当前位置: 代码迷 >> Sql Server >> 【SSIS】查詢當前正在運行的job解决方法
  详细解决方案

【SSIS】查詢當前正在運行的job解决方法

热度:164   发布时间:2016-04-24 18:50:07.0
【SSIS】查詢當前正在運行的job
我原本寫過一個監控系統,主要是用來郵件提示job失敗的信息,但是最近發生個異常,某job運行死鎖整整運行6天將重要的系統弄癱瘓了

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

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


------解决方案--------------------

--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

……


正在执行的,LZ可以查看其中的开始时间与当前getdate()之间的差值了。 
  相关解决方案