monitoring - SQL Server Agent job elapsed time -
is there way use smo find elapsed time sql server job that's executing?
sorry, query , not smo. i'm assuming meet requirements, if have run smo.
https://gallery.technet.microsoft.com/scriptcenter/running-sql-server-jobs-953caf82
create table #enum_job ( job_id uniqueidentifier, last_run_date int, last_run_time int, next_run_date int, next_run_time int, next_run_schedule_id int, requested_to_run int, request_source int, request_source_id varchar(100), running int, current_step int, current_retry_attempt int, state int ) insert #enum_job exec master.dbo.xp_sqlagent_enum_jobs 1, garbage select r.name , r.last_run_date, r.runningfortime, getdate()as #enum_job inner join ( select j.name, j.job_id, ja.run_requested_date last_run_date, (datediff(mi,ja.run_requested_date,getdate())) runningfor, case len(convert(varchar(5),datediff(mi,ja.run_requested_date,getdate())/60)) when 1 '0' + convert(varchar(5),datediff(mi,ja.run_requested_date,getdate())/60) else convert(varchar(5),datediff(mi,ja.run_requested_date,getdate())/60) end + ':' + case len(convert(varchar(5),(datediff(mi,ja.run_requested_date,getdate())%60))) when 1 '0'+convert(varchar(5),(datediff(mi,ja.run_requested_date,getdate())%60)) else convert(varchar(5),(datediff(mi,ja.run_requested_date,getdate())%60)) end + ':' + case len(convert(varchar(5),(datediff(ss,ja.run_requested_date,getdate())%60))) when 1 '0'+convert(varchar(5),(datediff(ss,ja.run_requested_date,getdate())%60)) else convert(varchar(5),(datediff(ss,ja.run_requested_date,getdate())%60)) end runningfortime msdb.dbo.sysjobactivity ja left outer join msdb.dbo.sysjobhistory jh on ja.job_history_id = jh.instance_id inner join msdb.dbo.sysjobs_view j on ja.job_id = j.job_id ( ja.session_id = ( select max(session_id) expr1 msdb.dbo.sysjobactivity ) ) ) r on r.job_id = a.job_id , a.running = 1 drop table #enum_job
Comments
Post a Comment