第七篇 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代理作业由一系列的一个或多个作业步骤组成.一个作业步骤分配给一个特定的作业子系统(确定作业步骤去完成的工作). ...
- 第八篇 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代理作业是由一系列的作业步骤组成,每个步骤由一个独立的类型去执行.每个作业步骤在技术 ...
- 第五篇 SQL Server代理理解代理错误日志
本篇文章是SQL Server代理系列的第五篇,详细内容请参考原文. 正如这一系列的前几篇所述,SQL Server代理作业是由一系列的作业步骤组成,每个步骤由一个独立的类型去执行.在第四篇中我们看到 ...
- 【译】第五篇 SQL Server代理理解代理错误日志
本篇文章是SQL Server代理系列的第五篇,详细内容请参考原文. 正如这一系列的前几篇所述,SQL Server代理作业是由一系列的作业步骤组成,每个步骤由一个独立的类型去执行.在第四篇中我们看到 ...
随机推荐
- Hibernate validation 注解 springmvc 验证 分组
SpringMVC验证框架Validation特殊用法 1. 分组 有的时候,我们对一个实体类需要有多中验证方式,在不同的情况下使用不同验证方式,比如说对于一个实体类来的id来说,保存的时候是不需 ...
- 安装nfs服务器
服务器和客户端都有一下操作 groupadd nginx useradd -r -g nginx nginx -s /sbin/nologin id nginx 查看nginx的id yum inst ...
- PHP 开发 APP 接口 学习笔记与总结 - APP 接口实例 [4] 首页 APP 接口开发方案 ③ 定时读取缓存方式
用于 linux 执行 crontab 命令生成缓存的文件 crop.php <?php //让crontab 定时执行的脚本程序 require_once 'db.php'; require_ ...
- sql in查询排序
1.默认下,使用select xxx where in(xx,xx)查询,返回结果是按主键排序的,如果要按in()中值的排列顺序,可以这样做: select * from talbe where ...
- 为Ubuntu Server安装gnome图形桌面环境
Ubuntu Server版默认都没有图形桌面(GUI),但是可以安装,以下共有两种安装方法. 一.安装全部Gnome桌面环境 Ubuntu系列桌面实际上有几种桌面应用程序,包括Ubuntu-desk ...
- empty()与remove([expr])的区别.转
jquery之empty()与remove()区别 要用到移除指定元素的时候,发现empty()与remove([expr])都可以用来实现.可仔细观察效果的话就可以发现.empty()是只移除了 ...
- PHP不仅仅是PHP
PHP不仅仅是PHP PHP不仅仅是PHP. PHP的面试不仅仅会问到PHP语言本身(基本都是基础和细节),下面列举的主要是都是高级工程师的要求 比如:PHP中include和require的区别 ...
- Computer architecture Computer organization
COMPUTER ORGANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCEComputer architectureNINTH EDITION C ...
- backbone-todo案例分析
todo案例可以到这个地址下载 https://github.com/jashkenas/backbone 添加数据后 todo案例不涉及Router,仅有Model.Collection.View的 ...
- 告诉你Hadoop是什么
Hadoop是什么?Hadoop是一个开发和运行处理大规模数据的软件平台,是Appach的一个用java语言实现开源软件框架,实现在大量计算机组成的集群中对海量数据进行分布式计算. Hadoop框架中 ...