查看 SQL 中JOB 的运行状态

来源:互联网 发布:ubuntu 唤醒后 编辑:程序博客网 时间:2024/05/29 13:43

 

一, 查看是否正在运行

 

    Declare @Job_ID as UNIQUEIDENTIFIER
    select @Job_ID =Job_ID from msdb.dbo.sysjobs where name = 'James_Test'

    Exec master..sp_MSget_jobstate @Job_ID 

 

   返回值为 1 - 正在运行

                     4 - 表示完成(成功或失败)

 

二, 检查执的结果状态
查看 SQL Server 作业(job) 运行成功与否、还是取消等状态信息,以及作业最后一次运行持续时间、出错信息提示等。DBA 可以周期性地调度该 SQL 脚本,在 SQL Server 作业失败时候得到及时提醒。此 SQL 脚本适用于 SQL Server 2000 & 2005。
---------------------------------------------------------------------------------- author : p.c.w.l-- source : www.sqlstudy.com-- create : 2008-01-01-- descr  : a simple sql script to view sql server jobs run status--------------------------------------------------------------------------------select category          = jc.name,       category_id       = jc.category_id,       job_name          = j.name,       job_enabled       = j.enabled,       last_run_time     = cast(js.last_run_date as varchar(10)) + '-' + cast(js.last_run_time as varchar(10)),       last_run_duration = js.last_run_duration,       last_run_status   = js.last_run_outcome,       last_run_msg      = js.last_outcome_message + cast(nullif(js.last_run_outcome,1) as varchar(2)),       job_created       = j.date_created,       job_modified      = j.date_modified  from msdb.dbo.sysjobs j         inner join msdb.dbo.sysjobservers js    on j.job_id = js.job_id         inner join msdb.dbo.syscategories jc    on j.category_id = jc.category_id where j.enabled = 1   and js.last_run_outcome in (0,1,3,5)      -- 0:Fail 1:Succ 3:Cancel 5:First run   and jc.category_id not between 10 and 20  -- repl

三, 查看历史情况

 

select run_status,a.run_time, a.*
    from msdb.dbo.sysjobhistory a
        inner join msdb.dbo.sysjobs b on a.job_id=b.job_id
    where b.name='作业名'

作业的执行状态run_status:
0 = 失败
1 = 成功
2 = 重试
3 = 取消
4 = 正在进行
原创粉丝点击