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 执行情况
  • 相关阅读:
    Java实现 LeetCode 697 数组的度(类似于数组的map)
    Java实现 LeetCode 697 数组的度(类似于数组的map)
    Java实现 LeetCode 697 数组的度(类似于数组的map)
    Java实现 LeetCode 696 计数二进制子串(暴力)
    Java实现 LeetCode 696 计数二进制子串(暴力)
    Java实现 LeetCode 696 计数二进制子串(暴力)
    Java实现 LeetCode 695 岛屿的最大面积(DFS)
    Java实现 LeetCode 695 岛屿的最大面积(DFS)
    PHP serialize() 函数
    PHP print_r() 函数
  • 原文地址:https://www.cnblogs.com/xunziji/p/2079901.html
Copyright © 2011-2022 走看看