1.查看作业运行情况

select
a.job_id '作业ID',a.name '作业的名称',a.enabled '是否启用',a.description '作业的说明',c.step_id '步骤ID',
c.step_name '步骤名',c.command '执行的命令',
a.category_id
'作业类别的ID',
(Case when a.notify_level_email=0
      then '从不'
     when a.notify_level_email=1
      then '作业成功时'
     when a.notify_level_email=2
      then '作业失败时'
    when a.notify_level_email=3
      then '作业完成时'
    else
       '未知'
 End
 )as '发送通知电子邮件',a.notify_email_operator_id '通知的操作员',
 a.date_created '作业的创建日期',a.date_modified '修改作业的日期',a.version_number '作业版本',b.message '消息',
(CASE
   WHEN b.run_status = 0
        THEN '失败'
   WHEN b.run_status = 1
        THEN '成功'
   WHEN b.run_status = 2
        THEN '重试'
   WHEN b.run_status = 3
        THEN '已取消'
   WHEN b.run_status = 4
        THEN '正在进行中'
   ELSE '未知'
 END
)as '作业的执行状态',
c.last_run_date '上一次执行的日期',c.last_run_time '上一次执行的时间' ,c.last_run_duration '花费的时间' ,c.last_run_retries '重试次数',
d.next_run_date '下一次执行日期',d.next_run_time '下一次执行时间',
b.operator_id_emailed '通知的操作员的ID',
operator_id_netsent '消息通知的操作员的ID',b.operator_id_paged '寻呼通知的操作员的ID',
c.server '服务器'
from msdb.dbo.sysjobs(nolock) a inner join msdb.dbo.sysjobsteps c on a.job_id=c.job_id
left join (select *  from msdb.dbo.sysjobhistory(nolock) where instance_id
  in( select max(instance_id) from msdb.dbo.sysjobhistory(nolock) group by job_id )) b
 on a.job_id=b.job_id left join msdb.dbo.sysjobschedules(nolock) d on a.job_id=d.job_id

2.查看某个job上一次运行情况

select b.name '任务名',a.job_id '任务ID',a.step_id '步骤',step_name '步骤名',sql_message_id 'sql信息',message '执行信息',
  run_date+run_time '运行时间',run_duration '运行时长',description '描述' from msdb.dbo.sysjobhistory(nolock) a
  inner join msdb.dbo.sysjobs(nolock) b on a.job_id=b.job_id
  where run_date='20090825' and b.name='jobname

3.与Job相关的系统表

 sysjobhistory  
  包含有关由   SQL   Server   代理程序调度作业的执行的信息。该表存储在   msdb   数据库中。  
   
  sysjobs  
  存储将由   SQL   Server   代理程序执行的每个已调度作业的信息。该表存储在   msdb   数据库中  
   
  sysjobsteps  
  包含将由   SQL   Server   代理程序执行的作业中每个步骤的信息。该表存储在   msdb   数据库中。  
   
  sysjobschedules  
  包含将由   SQL   Server   代理程序执行的作业调度信息。该表存储在   msdb   数据库中。  
   
  sysjobservers  
  存储特定作业与一个或更多目标服务器的关联或关系  
 

 与备份/还原相关的系统表:  
   
  backupfile  
  每个备份的数据或日志文件在表中占一行。该表存储在   msdb   数据库中。  
   
  backupmediafamily  
  每个媒体家族在表中占一行。该表存储在   msdb   数据库中。  
   
  backupmediaset  
  每个备份媒体集在表中占一行。该表存储在   msdb   数据库中。  
   
  backupset  
  每个备份集在表中占一行。该表存储在   msdb   数据库中。  
   
  restorefile  
  restorefile   表中每个已还原的文件(包括按文件组名间接还原的文件)占一行。该表存储在   msdb   数据库中。  
   
  restorefilegroup  
  restorefilegroup   表中每个已还原的文件组占一行。该表存储在   msdb   数据库中。  
   
  restorehistory  
  restorehistory   表中每个还原操作占一行。该表存储在   msdb   数据库中。