本篇文章是SQL Server代理系列的第七篇,详细内容请参考原文


在这一系列的上一篇,你创建并配置SQL Server代理作业。每个作业有一个或多个步骤,可能包含大量的工作流。在这篇文章中,将查看作业活动监视器。作业活动监视器是系统管理工具来运行工作,查看作业历史记录,并启用/禁用作业。本文同样会回顾一些作业活动监视器调用的存储过程,你可以直接调用过程做你自己的自定义任务监控。
SQL Server代理作业活动监视器
SQL Server代理作业活动监视器的主要机制是监视作业运行,以及查看代理已运行的作业。作业活动监视器是一个单独的对话框,作业活动监视器使用系统存储过程和系统表来显示SQL Server代理作业状态。
使用作业监视器
启动SSMS,对象资源管理器下导航到SQL Server代理节点。你应该看到作业活动监视器,如图7.1所示。双击作业活动监视器,或右键点击菜单项并选择查看作业活动,你会看到作业活动监视器启动。你可能注意到标题也包含SSMS连接上的服务器名称。在我的例子使用的是“(本地)”(如图7.2所示)。

图7.1 启动作业活动监视器

图7.2 作业活动监视器对话框
在作业活动监视器下你可以看到实例上定义的所有代理作业。你可以看到哪些作业已启用,它们最近是否有运行,作业是否正在运行,上次运行结果是否成功,定期作业的下次运行时间,如果你的作业有分类,类别也会显示。
在代理作业活动的每一列都是可排序的--点击列的名称。例如,你可能想按照作业类别排序。作业类别是一个我们没有谈论到主题,所以我们将简要探讨创建和指定的作业类别。
作业类别
在作业活动监视器中用作业类别来分组作业非常有用。有一些内置的系统作业/任务作业类别。你也可以创建你自己的作业类别。SSMS->SQL Server代理->作业,右击作业,并选择管理作业类别。这将启动管理作业类别对话框,如图7.3所示。

图7.3 管理作业类别
点击添加…按钮创建一个新的作业类别。命名你的作业类别(本例中"backups"),然后单击“显示所有作业”复选框,列出你当前的SQL Server代理作业。勾选Backup Master作业,如图7.4所示。你也可以后期通过编辑作业属性,分配作业类别。

图7.4 创建作业类别并分配作业
再次单击“添加”按钮,并添加第二类别,命名为“Examples”,并选择这系列创建的其他示例作业。单击确定,然后单击“取消”关闭对话框(别担心,它不会撤消之前的操作,它只是在关闭管理作业类别对话框)。
作业活动监视器筛选设置
现在你有一些有趣的数据过滤和排序,重新打开或者退回到作业活动监视器。如果你点击网格中的“类别”的标题,你会看到作业按照新创建的类别排序(如图7.5所示)。

图7.5 按类别排序
你可以通过任何显示列进行排序,但是当你添加更多的作业时,对话框中的信息越来越多,要找到需要的作业将变得困难。
在对话框的顶部,你可以选择刷新或者过滤对话框。如果你有一百或更多的作业(我知道很多DBA管理许多作业),你可能会使用过滤设置对话框限制你想查看的作业。点击过滤,将看到筛选设置对话框。在类别中输入backups(如图7.6所示),并勾选对话框底部的“应用筛选器”复选框。单击“确定”,你将会看到图7.7,只显示作业类别为backups的作业。

图7.6 作业活动监视器筛选设置

图7.7 作业活动监视器应用筛选
注意,在对话框的左侧,你会看到一个过滤器被应用。如果你想再次看到所有的工作,你必须再次点击过滤,取消“应用筛选器”选项。
使用作业活动监视器来监控作业
你可以设置作业活动监视器自动刷新,那样你就能及时查看失败的作业。在作业活动监视器,点击“查看刷新设置”,你会看到刷新设置对话框,如图7.8所示。在这个例子中,勾选自动刷新间隔,然后更改秒从默认的60下降到30(具体的数值取决于你的监控)。

图7.8 作业活动监视器设置自动刷新
单击“确定”,现在的对话框会每30秒自动刷新。在上次的运行结果结合过滤或排序,就非常容易定位到失败的作业。
最后,如果你想管理作业(即启用、禁用、运行作业、或修改作业属性),只需右击作业活动监视器中的作业。这些和之前的SQL Server代理步骤文章相似,所以不会再次复述。
作业活动监视器下系统表和存储过程
作业活动监视器对应一些系统表和系统存储过程。SQL Server代理启动时,会往msdb.dbo.syssessions表插入新行,记录SQL Server代理启动的时间、session_id。每次启动服务时,所有已存在的SQL Server代理作业快照插入到msdb.dbo.sysjobactivity表。该表是用来记录作业活动监视器中的信息,如作业上次运行时间,下次运行时间。此外,一个指向作业历史记录的指针(job_history_id列)对应到msdb.dbo.sysjobhistory表。
另外,作业活动监视器还包括来自其他系统表,如msdb.dbo.sysjobs、msdb.dbo.sysjobsteps,和一些扩展存储过程如master.dbo.xp_sqlagent_enum_jobs。所有这些表和过程被包裹在系统存储过程msdb.dbo.sp_help_job。
如果你想监控你的作业但不使用SSMS,你可以简单地运行sp_help_job。你可以创建一个作业将sp_help_job运行结果邮件到你的手机上。
下一篇
SQL Server作业活动监视器允许你灵活的使用图形界面来监控作业活动和作业进展。你可以排序、分类、过滤你的感兴趣的作业。你也可以运行系统存储,如果你不想使用图形界面。
在我们的下一个篇,我们将探讨如何在SQL Server代理中使用外部程序,例如操作系统或PowerShell命令。

第七篇 SQL Server代理作业活动监视器的更多相关文章

  1. 【译】第七篇 SQL Server代理作业活动监视器

    本篇文章是SQL Server代理系列的第七篇,详细内容请参考原文 在这一系列的上一篇,你创建并配置SQL Server代理作业.每个作业有一个或多个步骤,可能包含大量的工作流.在这篇文章中,将查看作 ...

  2. 第二篇 SQL Server代理作业步骤和子系统

    本篇文章是SQL Server代理系列的第二篇,详细内容请参考原文. SQL Server代理作业由一系列的一个或多个作业步骤组成.一个作业步骤分配给一个特定的作业子系统(确定作业步骤去完成的工作). ...

  3. 【译】第二篇 SQL Server代理作业步骤和子系统

    本篇文章是SQL Server代理系列的第二篇,详细内容请参考原文. SQL Server代理作业由一系列的一个或多个作业步骤组成.一个作业步骤分配给一个特定的作业子系统(确定作业步骤去完成的工作). ...

  4. 第八篇 SQL Server代理使用外部程序

    本篇文章是SQL Server代理系列的第八篇,详细内容请参考原文 在这一系列的上一篇,学习了如何用SQL Server代理作业活动监视器监控作业活动和查看作业历史记录.在实时监控和管理SQL Ser ...

  5. 【译】第八篇 SQL Server代理使用外部程序

    本篇文章是SQL Server代理系列的第八篇,详细内容请参考原文 在这一系列的上一篇,学习了如何用SQL Server代理作业活动监视器监控作业活动和查看作业历史记录.在实时监控和管理SQL Ser ...

  6. 第六篇 SQL Server代理深入作业步骤工作流

    本篇文章是SQL Server代理系列的第六篇,详细内容请参考原文. 正如这一系列的前几篇所述,SQL Server代理作业是由一系列的作业步骤组成,每个步骤由一个独立的类型去执行.每个作业步骤在技术 ...

  7. 【译】第六篇 SQL Server代理深入作业步骤工作流

    本篇文章是SQL Server代理系列的第六篇,详细内容请参考原文. 正如这一系列的前几篇所述,SQL Server代理作业是由一系列的作业步骤组成,每个步骤由一个独立的类型去执行.每个作业步骤在技术 ...

  8. 第五篇 SQL Server代理理解代理错误日志

    本篇文章是SQL Server代理系列的第五篇,详细内容请参考原文. 正如这一系列的前几篇所述,SQL Server代理作业是由一系列的作业步骤组成,每个步骤由一个独立的类型去执行.在第四篇中我们看到 ...

  9. 【译】第五篇 SQL Server代理理解代理错误日志

    本篇文章是SQL Server代理系列的第五篇,详细内容请参考原文. 正如这一系列的前几篇所述,SQL Server代理作业是由一系列的作业步骤组成,每个步骤由一个独立的类型去执行.在第四篇中我们看到 ...

随机推荐

  1. 连连看beta发布

    组名:天天向上 组长:王森 组员:张政.张金生.林莉.胡丽娜 代码地址:HTTPS:https://git.coding.net/jx8zjs/llk.git SSH:git@git.coding.n ...

  2. JavaWEB前端向服务器端发送对象

    最近项目中需要做一个关于批量删除的功能,删除条件有多个,需要从页面全部传给后台服务器程序,单个的删除,可以拼接参数给url,服务器端获取参数后执行删除操作即可.但是批量删除多个,参数会很多,传递就有些 ...

  3. Visual Studio 常用插件

    一.IndentGuide 缩进线插件:每个缩进块首尾添加虚线,使代码看着整洁. 其他插件:继续推荐几款VisualStudio的插件 二.CodeRush code rush 是微软推出的一款VS2 ...

  4. Shader Model 3.0:Using Vertex Textures SM3:使用顶点纹理 (NVIDIA spec, 6800支持使用D3DFMT_R32F and D3DFMT_A32B32G32R32F的纹理格式实现Vertex Texture。)

    翻译者 周波 zhoubo22@hotmail.com 版权所有 Philipp Gerasimov Randima (Randy) Fernando Simon Green NVIDIA Corpo ...

  5. iMx280A测试声纹

    1.首先要有声纹识别的动态库,且arm-linux-gcc的版本相同.可以在虚拟机用file 命令来看文件的基本信息,通过file指令,我们得以辨 识该文件的类型. 2.用tftp将库传到开发板的li ...

  6. WordPress工作原理之程序文件执行顺序

    在了解WordPress挂载机制时,一直有一个疑惑,到底是WordPress的内核源文件先执行还是主题文件里functions.php文件先执行.为了解决这个问题,想了解WordPress的工作原理, ...

  7. 20145225 实验四《Andoid开发基础》

    实验内容 搭建Android环境 运行Android 修改代码,能输出学号 实验步骤 安装Android Studio 安装Android的SDK 运行Andriod Studio并在模拟手机上显示自 ...

  8. 【转】Eclipse Class Decompiler——Java反编译插件

    闲暇之余,写了一个Eclipse下的Java反编译插件:Eclipse Class Decompiler,整合了目前最好的2个Java反编译工具Jad和JD-Core,并且和Eclipse Class ...

  9. 低功耗蓝牙4.0BLE编程-nrf51822开发(11)-蓝牙串口代码分析

    代码实例:点击打开链接 实现的功能是从uart口发送数据至另一个蓝牙串口,或是从蓝牙读取数据通过uart打印出数据. int main(void) { // Initialize leds_init( ...

  10. 图形显示之RGB

    记得初中学数学几何时,有这样一句话:点运动成线,线运动成面,面运动成体. 其它方面也有相似的原理. 例如常见的gif动态图,就是由一帧一帧的图片快速切换得到的.那么,图片又是怎么显示的呢? 一副图片是 ...