Rumah  >  Artikel  >  pangkalan data  >  SQL Server 任务监控脚本

SQL Server 任务监控脚本

大家讲道理
大家讲道理asal
2016-11-12 09:47:551258semak imbas

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

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn