SQL Server 任务监控脚本

BEGIN         DECLARE @jobstatus     TABLE(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 INTO @jobstatus     EXEC MASTER.dbo.xp_sqlagent_enum_jobs 1,garbage                      BEGIN                     SELECT DISTINCT CASE                     WHEN state=1 THEN 'Job is Executing'                     WHEN state=2 THEN 'Waiting for Thread to complete'                     WHEN state=3 THEN 'Between retries'                     WHEN state=4 THEN 'Job is Idle'                     WHEN state=5 THEN 'Job is suspended'                     WHEN state=7 THEN 'Performing completion actions'                      END AS State,sj.name,                     CASE WHEN ej.running=1 THEN st.step_id ELSE 0 END AS currentstepid,                  CASE WHEN ej.running=1 THEN st.step_name ELSE 'not executing' END AS currentstepname,                     st.command, ej.request_source_id                     FROM @jobstatus ej join msdb..sysjobs sj ON sj.job_id=ej.job_id                     JOIN msdb..sysjobsteps st ON st.job_id=ej.job_id AND (st.step_id=ej.current_step or ej.current_step=0)                     WHERE ej.running+1>1                     END     END
© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享