Sql server 日记 (查看Sql server JOB 运行状态)

来源:互联网 发布:矩阵svd分解 编辑:程序博客网 时间:2024/05/16 11:19

昨天被投诉了,回来想想最好有能检测关键job的运行状态的一个脚本,这样查询起来也比较方便

 

-----------------------------------------------------------------------------------------------------------------------------

 

--- 定义一个table 的的存储变量用来存储 xp_sqlagent_enum_jobs存储过程的输出

 

DECLARE @xp_results TABLE


(job_id UNIQUEIDENTIFIER NOT NULL,


last_run_date INT NOT NULL,


last_run_time INT NOT NULL,


next_run_date INT NOT NULL,


next_run_time INT NOT NULL,


next_run_schedule_id INT NOT NULL,


requested_to_run INT NOT NULL,


request_source INT NOT NULL,


request_source_id sysname COLLATE database_default NULL,


running INT NOT NULL,


current_step INT NOT NULL,


current_retry_attempt INT NOT NULL,


job_state INT NOT NULL)

 

---------将xp_sqlagent_enum_jobs输出的结果输入到变量当中


Insert @xp_results


EXECUTE master.dbo.xp_sqlagent_enum_jobs 1, 'sa'

 

-------查看当前的 OracleData Import  JOB的运行状态  4为运行正常 1为正在运行


select

xj.name,

 

sj.last_run_date

 

 from @xp_results sj

 

 inner join

msdb.dbo.sysjobs xj on msdb.dbo.sysjobs.job_id = sj.job_id

 

where msdb.dbo.sysjobs.name = 'OracleData Import'

 

----注释 xj 为msdb.dbo.sysjobs表的别名  xj为@xp_results变量的别名

原创粉丝点击