【译】第七篇 SQL Server代理作业活动监视器
本篇文章是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代理作业活动监视器的更多相关文章
- 第七篇 SQL Server代理作业活动监视器
本篇文章是SQL Server代理系列的第七篇,详细内容请参考原文 在这一系列的上一篇,你创建并配置SQL Server代理作业.每个作业有一个或多个步骤,可能包含大量的工作流.在这篇文章中,将查看作 ...
- 【译】第二篇 SQL Server代理作业步骤和子系统
本篇文章是SQL Server代理系列的第二篇,详细内容请参考原文. SQL Server代理作业由一系列的一个或多个作业步骤组成.一个作业步骤分配给一个特定的作业子系统(确定作业步骤去完成的工作). ...
- 【译】第九篇 SQL Server代理了解作业和安全
本篇文章是SQL Server代理系列的第九篇,详细内容请参考原文 在这一系列的上一篇,学习了如何在SQL Server代理作业步骤启动外部程序.你可以使用过时的ActiveX系统,运行批处理命令脚本 ...
- 第二篇 SQL Server代理作业步骤和子系统
本篇文章是SQL Server代理系列的第二篇,详细内容请参考原文. SQL Server代理作业由一系列的一个或多个作业步骤组成.一个作业步骤分配给一个特定的作业子系统(确定作业步骤去完成的工作). ...
- 【译】第一篇 SQL Server代理概述
本篇文章是SQL Server代理系列的第一篇,详细内容请参考原文. SQL Server代理是SQL Server的作业调度和告警服务,如果使用得当,它可以大大简化DBA的工作量.SQL Serve ...
- 【译】第八篇 SQL Server代理使用外部程序
本篇文章是SQL Server代理系列的第八篇,详细内容请参考原文 在这一系列的上一篇,学习了如何用SQL Server代理作业活动监视器监控作业活动和查看作业历史记录.在实时监控和管理SQL Ser ...
- 第八篇 SQL Server代理使用外部程序
本篇文章是SQL Server代理系列的第八篇,详细内容请参考原文 在这一系列的上一篇,学习了如何用SQL Server代理作业活动监视器监控作业活动和查看作业历史记录.在实时监控和管理SQL Ser ...
- 【译】第六篇 SQL Server代理深入作业步骤工作流
本篇文章是SQL Server代理系列的第六篇,详细内容请参考原文. 正如这一系列的前几篇所述,SQL Server代理作业是由一系列的作业步骤组成,每个步骤由一个独立的类型去执行.每个作业步骤在技术 ...
- 第六篇 SQL Server代理深入作业步骤工作流
本篇文章是SQL Server代理系列的第六篇,详细内容请参考原文. 正如这一系列的前几篇所述,SQL Server代理作业是由一系列的作业步骤组成,每个步骤由一个独立的类型去执行.每个作业步骤在技术 ...
随机推荐
- logback错误日志发送邮件
logback 一.介绍 logback是由log4j的作者开发的一个开源日志组件,用以替代log4j. logback由3个部分组成: ♦ logback-core (基础模块) ♦ logback ...
- todomvc-app
1.HTML <!doctype html> <html lang="en"> <head> <meta charset="ut ...
- 出错:ORA-20000: ORU-10028: line length overflow, limit of 255 bytes per line?
起因:DBMS_OUTPUT.put(V_SQL) 提示太长错误,设置了buffer=>null 和set 长度都不行 解决方法如下: testxx.debug_print(V_SQL); -- ...
- 关于Swift中的泛函数find的问题
对于一个数组Array,我们往往需要判断其是否包含某个子项,又或者要查找某个子项是否在这个数组中. 假设有这样一个包含坐标的数组 var pointArray:[CGPoint] = [CGPoint ...
- 基本数据结构 —— 堆以及堆排序(C++实现)
目录 什么是堆 堆的存储 堆的操作 结构体定义 判断是否为空 往堆中插入元素 从堆中删除元素 取出堆中最大的元素 堆排序 测试代码 例题 参考资料 什么是堆 堆(英语:heap)是计算机科学中一类特殊 ...
- Web Service(上)
1.XML CDATA指不应由XML解析器进行解析的文本数据. 在XML元素中,<和&是非法的.解析器会把字符<解释为新元素的开始,把字符&解释为字符实体的开始. 某些文本 ...
- Android中Selector的用法(改变ListView和Button的默认背景)
Android中的Selector的用法 http://blog.csdn.net/shakespeare001/article/details/7788400#comments Android中的S ...
- 菜鸟合作伙伴日志接入规范之C#实现
由于行业的业务功能需要,需要与菜鸟对接登录日志,将我们系统的用户登录信息提交给菜鸟,菜鸟分析通过分析日志,检查存在的一些安全问题.根据菜鸟提供的标准,实现了C#的接入,下面分享给大家,让需要的朋友少走 ...
- QT 登陆对话框
该文章原创于Qter开源社区(www.qter.org),作者yafeilinux,转载请注明出处! 正文 一.创建项目 1.新建Qt Gui应用,项目名称为“login”,类名和基类保持MainWi ...
- mac 安装 pecl
下载 pear curl -O http://pear.php.net/go-pear.phar sudo php -d detect_unicode= go-pear.phar 配置和安装 pear ...