我以后有了孩子,就整天逼他玩手机,成天在他耳边唠叨:“怎么还不去玩游戏!?今天看了几章小说?看了几集动漫?怎么又在写作业了!……”

韦德国际 1

SQL
Server代理是所有实时数据库的核心。代理有很多不明显的用法,因此系统的知识,对于开发人员还是DBA都是有用的。这系列文章会通俗介绍它的很多用法。

  在逆反心理的作用下,他会经常背着我学习,会偷偷看题目,……也只有和小伙伴一起上课才是他唯一的乐趣。每次他被我训斥了,会略带哭腔地说道:“爸爸,求你了,就让我再写两页作业吧!”

回到学校有一段时间了,说一说,我和作业厮杀的一些往事,我觉得太有意思了。


首先,我想说一说在美国大学里面交作业的一个情况。老师会把作业放到到一个类似于国内的电子白板上。在上面会有对作业很具体的要求。每个作业都有截止时间deadline,按照老师的要求去写作业然后在截止时间前交了就可以。注意的是,你需要按照老师的具体要求写作业。但是一定要注意的就是他的最后截止日期,千万不要弄错了,可以提前,不要晚交。一般的大学老师他们是不接受晚交的作业的。晚交作业也不一定说不好,如果你确实碰到一些比较特殊的情况,像生病、家中有事,提前写邮件给教授告知未能如期上交作业的理由,如果教授同意,你就可以晚交。但是值得注意的一点是,晚交仍然是有截止时间,并不是说你想多晚就多晚或者你想什么时候交就什么时候交,而且晚交作业在你的整体学科中会不会影响你的学分,这个就要看具体的你和老师沟通的结果。不到万不得已不推荐你晚交作业。

在这个系列的前几篇文章里,你创建配置了SQL
Server代理作业。每个作业有一个或更多步骤,如你在前几篇文章所示,也会包括大量的工作流。在这篇文章里,我们会谈下作业活动监视器。作业活动监视器是系统管理员工具来运行作业,查看作业历史,启用/停止作业。这篇文章会谈下作业活动监视器运行的几个存储过程,你也可以直接使用它来定制你的作业监控。

下面我们来说一说这些作业的趣事。有的教授会把作业放在电子白板上,作业后面显示作业分数是零,但是在交完作业之后,老师会给分数。所以千万不要因为作业上没有显示分数,然后就不交作业。不交作业的后果很严重。

SQL Server代理作业活动监视器

SQL
Server代理作业活动监视器是监视运行作业的主要机制,也可以用来查看已运行的SQL
Server代理作业。作业活动监视器是在SSMS里启动的独立对话框。作业活动监视器使用系统存储过程和系统表来显示SQL
Server代理作业状态。

还有一些老师在他们的观点中你的作业她觉得不好就是不好。没有任何可以改变的机会,当然,既然有这种不太好的老师,肯定就会有一些比较好的老师,像有的老师,你在交完第一篇作业之后,他认为你的作业没有达到你最理想的状态,他会把你的作业发回来,要求你重新写,然后你再次提交,一直开导她觉得可能是你最好的作业,然后根据你最后一次完整的作业给你打出分数。相对来说这样的分数都会比较漂亮,你最后的总成绩也会非常的好看。

使用作业活动监视器

要使用作业活动监视器,从SSMS,在对象浏览器里切换到SQL
Server代理节点。你应该看到作业活动监视器,如插图1所示。注意高亮或单击作业活动监视器没有效果,因为作业活动监视器是独立的对话框,不在SSMS的界面里显示。一旦你双击了作业活动监视器,或者右击选择菜单【查看作业活动】。
你会看到作业活动监视器启动。你会注意到它包含了SSMS里使用的连接的服务器名,在我的环境里用的是“(local)”(如插图2所示)。

韦德国际 2

插图1:启动作业活动监视器

韦德国际 3

插图2:作业活动监视器对话框

你会在对话框的【代理作业活动】部分看到在这个SQL
Server实例里,SQL
Server代理定义的作业。在一个简单的视图对话框里,你会看到哪些作业已启用,最近它们是否运行,作业当前是否在运行,上一次运行是否成功,如果是定期的作业下次作业运行的时间。如果作业已经分类,也会显示类别。

交完作业后,不久老师会打分。看分数的过程紧张又刺激。对于每一门课,老师们设置的分数组成也不一样。但是电子白板上会一直根据你的分数显示你这门课的总成绩,甚至会出现预估这门课的预估分数。

作业类别

在作业活动监视器里,作业类别是非常有用的分组工具。对于系统作业/任务有很多内建的作业类别。你也可以创建你特定的类别,现在就弄。切换回SSMS,右击【作业】文件夹,选择【管理作业类别】。这会启动【管理作业类别】对话框,如插图3所示。

韦德国际 4

插图3:管理作业类别

点击【添加】按钮创建新的作业类别。命名你的作业类别(对于这个类别,我们命名为“数据库备份”,然后勾选【显示所有作业】来显示你当前SQL
Server代理的作业,如插图4所示)。你也可以修改作业的属性,标记作业为新的作业类别。

韦德国际 5

插图4:创建新的作业类别并指定一个作业到此类别。

(博主注:貌似我可以添加类别,但是勾选【显示所有作业】并不能列出作业列表,只能到作业里的属性修改它的【作业类别】)

 再次点击【添加】,增加第2个类别为“例子”,然后勾选这个系列文章里的其他例子作业。点击【确定】,然后点击【取消】关闭对话框(别担心,这不会撤销你的操作,它只是关闭作业【管理作业类别】对话框)。

有时候老师们会除计划外再额外布置一些作业,这些作业就是供那些分数比较低一点的又想往上提分数的同学做的。在这里就得说到GPA,如果你觉得你的GPA不是特别高的话,你又想往上提提你的GPA成绩,你可以和老师沟通,遇到特别好的教授,做一些他们布置的额外作业。如果这些作业做得特别好,你的GPA点就可以往上提一些。

作业活动监视器筛选

现在你有一些有趣的数据来筛选和排序,重新打开回到【作业活动监视器】。如果你在列表里点击“类别”,你会看到作业已经按你新建的类别排序(如插图5所示)。

韦德国际 6

插图5:按作业类别排序

你可以按显示的任何列排序,但你如果添加更多的列会你显示的信息太过拥挤,让找作业变得更加困难。

在对话框的顶部,你有【刷新】对话框的选项,你也可以筛选。如果你有100甚至更多的作业(我知道很多DBA都有很多的作业),你很会想使用【筛选设置】对话框来限制你视图显示的作业。点击【筛选】按钮,你会看到SSMS的标准筛选对话框。在类别里输入【数据库备份】(如插图6所示),在对话框底部勾选【应用筛选器】,点击【确定】,你会看到插图7所示,只有类别为【数据库备份】的作业会显示。

韦德国际 7

插图6:在作业活动监视器里筛选

韦德国际 8

韦德国际,插图7:在作业活动监视器里应用筛选后的视图

注意对话框的左边,你会看到筛选已经应用。如果你想再次看到你的所有作业,你必须点击【筛选】按钮,不勾选【应用筛选器】选项。

除了这些网上那种,我们还会有一些其他的作业。像在课堂上,有各种各样的小组讨论活动或者是和老师之间的讨论活动,这些活动也会有相应的小作业和小论文、总结等,而这些也都是会被计入成绩。

使用作业活动监视器积极监控作业

你也可以设置作业活动监视器自动刷新,这样的话你可以找到失败的作业。在作业活动监视器里,点击【查看刷新设置】,你会看到如插图8所示的刷新设置对话框。在这个例子里,勾选【自动刷新间隔】,修改默认60秒的刷新时间为30秒(这数字的大小取决于你的监控)。

韦德国际 9

插图8:对作业活动监视器设置自动刷新

点击【确定】,现在对话框会每30秒刷新一次。现在与筛选设置结合,就很容易找出失败的作业。

最后,如果你想管理作业(例如启用,停止,运行作业或修改作业属性),可以在作业活动监视器里右击对应作业。这个在以前的文章已经谈过,这里就不描述了。

如有不妥,欢迎指正,谢谢!

作业活动监视器支持的的系统表和存储过程

在作业活动监视器下有一些系统表和系统存储过程。SQL
Serverdialing每次启动的时候,会插入新记录到msdb.dbo.syssessions表,记录SQL
Server代理启动的日期/时间,和一个“session_id”。每次服务启动后,当服务启动插入到msdb.dbo.sysjobactivity表后,会有SQL
Server代理作业的所有快照清单。这个表用来记录你在作业活动监视器里看到的信息,如果上次作业运行是什么时候,作业下次会在什么时候运行。另外,指向作业历史的记录在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的作业,通过邮件发送结果到你的手机。

韦德国际 10

下篇预告

SQL
Server作业监视器允许你用灵活的图形界面监视作业活动和作业过程。你可以排序,分类,筛选你的作业来更好的监视你在任何时候感兴趣的作业。如果你不想使用图像界面,可以使用作业活动监视器调用的系统存储过程。

在下篇文章里,我们会谈下SQL
Server代理的外部程序,例如启用命令行输出或Powershell,还有通过操作系统运行命令。

原文链接:

Author

发表评论

电子邮件地址不会被公开。 必填项已用*标注