Sql server 日记 (查看Sql server JOB 运行状态) 收藏
昨天被投诉了,回来想想最好有能检测关键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变量的别名
发表于 @ 2010年08月03日 11:41:00 | 评论( 0 ) | 编辑| 举报| 收藏