zoukankan      html  css  js  c++  java
  • Sql Server 系统表分析 (2) 作业(job) 表

    1. sysjobactivity 表

    记录当前 SQL Server 代理作业活动和状态。

    job_id :作业 ID
    run_requested_date :请求运行作业的日期和时间
    run_requested_source : 请求运行作业的请求者。 1 = SOURCE_SCHEDULER,4 = SOURCE_USER
    start_execution_date :计划运行作业的日期和时间
    job_history_id : 用于标识 sysjobhistory 表中的行。
    next_scheduled_run_date :计划下一次运行作业的日期和时间。


    2. sysjobhistory 表

    包含有关 SQL Server 代理执行预定作业的信息
    通俗易懂的说,就是记录 job 执行的历史情况,该表比较有用,能查看job执行的时间、状态、完成信息等。

    job_id : job(作业) ID
    step_id :job(作业)中的步骤ID,一个 job 中可以包含1个以上的步骤
    step_name :步骤的名称
    message:job(作业)执行信息,记录job是否执行成功,如若失败,则包含失败信息,十分的有用
    run_status :作业的执行状态,0 = 失败,1 = 成功, 2 = 重试,3 - 已取消
    run_data:作业或步骤开始执行的日期。
    run_time:作业火步骤开始的时间
    run_duration:执行作业或步骤所花费的时间,十分有用,单位是毫秒

    3. sysjobs 表

    SQL Server 代理执行的各个预定作业的信息

    job_id:作业的唯一ID
    name:作业的名称
    enabled:作业是否被启用
    description:作业的说明信息
    start_step_id:执行作业的其实步骤 ID
    category_id:作业类别的ID
    delete_level:指示在何种情况下应在作业完成时删除作业 0 = 从不,1 = 成功时,2 = 作业失败时,3 = 作业完成时
    data_created:作业的创建日期
    date_modified:上次修改作业的日期
    version_number:作业版本

    4. sysjobservers 表

    MSDN:存储特定作业与一个或多个目标服务器的关联或关系。
    个人感觉,就是存储 作业(job) 最后一次执行的详情,此表对于观察job执行的最新信息,比较方便

    job_id:作业标识号
    last_run_outcome:作业上次运行的结果,0 = 成功,1 - 失败 , 3 - 取消
    last_run_message:与 last_run_outcome 列关联的消息
    last_run_date:上次作业运行的日期
    last_run_time:上次作业运行的时间
    last_run_duration:上次作业运行的持续时间

    5. sysjobschedules 表

    job(作业)下次执行的时间信息

    schedule_id :计划ID  
    job_id:作业ID
    next_run_date:计划运行作业的下一个日期
    next_run_time:计划运行作业的时间

    6. sysjobsteps  表

    包含 SQL Server 代理要执行的作业中的各个步骤的信息。

    job_id :作业的 ID
    step_id:作业中的步骤 ID
    step_name:作业步骤的名称
    command:subsystem 要执行的命令,重要,可以直接得到步骤要执行的sql命令
    last_run_duration :该步骤上次运行时的持续时间


    7. sysjobstepslogs 表

    包含所有 SQL Server 代理作业步骤的作业步骤日志,这些作业步骤配置为将作业步骤输出写入表中

    log_id :作业步骤日志的ID
    log:作业步骤日志的内容
    date_created:创建作业步骤日志的日期和时间
    log_size :作业步骤日志的大小


    实战,获得最新作业(job)执行信息:

    select top 150 a.run_date,a.run_time, b.name,step_id,step_name,a.message,a.run_status,a.run_duration
    from msdb.dbo.sysjobhistory a ,msdb.dbo.sysjobs b
    where a.job_id=b.job_id and name not in('job_exclude') and a.step_id>0
    order by run_date desc


    相关文章:
    Sql Server 系统表分析(1) - 备份表
    Sql Server 监控 Job 执行情况
  • 相关阅读:
    信息安全系统设计基础实验五报告
    实验六报告
    实验五报告
    第六周学习总结
    实验四
    第五周学习总结
    第四周学习总结
    实验三报告
    《数据结构与面向对象程序设计》第二、三周学习总结
    20182319《数据结构与面向对象程序设计》实验二报告
  • 原文地址:https://www.cnblogs.com/xunziji/p/2079901.html
Copyright © 2011-2022 走看看