你的位置:首页 > 数据库

[数据库]SQL Server代理(11/12):维护计划作业


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


在这一系列的上一篇,我们看了使用代理帐户模仿Windows安全上下文完成作业步骤的工作。大多数子系统支持代理账户,同时子系统限制代理账户, 要求用户必须明确授权可以在作业步骤使用代理凭据。在这一篇,你将检查维护计划。维护计划是用来执行各种任务来优化你的数据库,包括备份、重建和/或重整 索引、更新统计。维护计划会创建作业。这一篇我们将查看维护计划,并查看维护计划所创建的作业。

维护计划概述

维护计划是一个非常漂亮的图形界面来帮助你维护SQL Server数据库的常见任务。使用维护计划是一个很好的捷径,而不是手动创建正确的T-SQL或PowerShell脚本来执行这些日常维护任务。这些任务包括:

  • 检查数据库完整性
  • 收缩数据库
  • 重新组织索引
  • 重新生成索引
  • 更新统计信息
  • 清除历史记录
  • 执行SQL Server代理作业
  • 备份数据库
  • "清除维护"任务

字面上你能明白这些任务能做的,但你也可以进一步了解https://msdn.microsoft.com/zh-cn/library/ms140255.aspx。如果你查看链接你会注意到你在阅读SQL Server Integration Services(SSIS)任务。这是因为维护计划事实上是SSIS包易于DBA创建和维护。
每一个维护计划由一个或多个子计划组成。每一个子计划可以运行于不同的调度(因为它们是SQL Server代理下独立的作业)。你只能逻辑上将维护计划中的子计划关联到一起。你可以有多个维护计划,维护计划可以应用于一个或多个数据库。

创建维护计划

首先你会注意到,维护计划并没有在SQL Server代理下面。导航到管理->维护计划。数据库上默认是没有创建维护计划的。右击维护计划,你可看到"新建维护计划"和"维护计划向导",大部分人发现使用向导创建维护计划更快捷方便。启动它,然后你会看到插图1所示界面

插图1: 启动维护计划向导
点击下一步,给维护计划取个名字。例如,你打算在AdventureWorks数据库上执行维护任务,因此你可以命名为AdventureWorks Maintenance。键入说明,选择"每项任务单独计划"来查看一个复杂的代理作业调度。如插图2所示:


插图2: 选择计划属性
点击下一步,然后选择你要执行的维护任务,选择"检查数据库完整性"、"更新统计信息"、"备份数据库(完整)",如插图3所示:


插图3:选择维护任务
点击下一步,选择执行任务的顺序。继续下一步,你会看到定义"数据库检查完整性"面板,从数据库列表中选择AdventureWorks,如图插图4所示。注意,你可以选择多个数据库,所有数据库,系统数据库,所有用户数据库。你也可以勾选"忽略未处于联机状态的数据库",避免你选择维护所有数据库时出错。


插图4: 选择数据库
点击确定,点击底部计划的修改按钮。你将看到一个标准的作业调度对话框,如插图5所示。在本例中,按默认设置。


插图5:创建计划调度
点击确定,你会注意到AdventureWorks数据库已经被选择在特定数据库下,计划下面更新成每周调度。点击下一步,你会看到"更新统计信息"任务,数据库列表选择AdventureWorks,其他默认,并创建默认的作业调度。
点击下一步,来到"备份数据库(完整)"任务,选择AdventureWorks数据库,其他默认(可以勾选"验证备份完整性"),同样创建默认计划调度(插图6所示)。


插图6:创建数据库备份任务
点击下一步,你会看到一个选择报告选项,默认是保存到数据库ErrorLog日志文件夹下,你可将报告发送一份给someone,如果你配置了数据库邮件。接受默认然后点击下一步,完成向导。这个向导将运行,创建维护计划,在完成后会有成功信息返回,如图插图7所示:


插图7:维护计划向导完成
如果你想看看在维护计划向导的结果界面,你可以刷新维护计划文件夹,然后双击新创建的维护计划,插图8所示:


插图8:查看维护计划
关闭维护计划,并导航到SQL Server代理的作业文件夹。现在你将看到三个新的作业,维护计划中的每一个子计划对应一个作业(如插图9所示)。你有三个不同的子计划因为你选择有三个单独的计划。


插图9:维护计划作业
打开AdventureWorks maintenance.subplan_1作业,然后点击步骤,然后打开步骤subplan_1。你会发现步骤类型为"SQL Server Integration Services包"(如插图10所示)。如果你熟悉SSIS的技能,你可以手动编辑属性,但不建议这样,因为你可能打断图形界面维护计划正常运行;然而,你可以指定代理帐户和配置连接信息。


插图10:维护计划作业步骤
你可以返回作业,然后更改作业的调度。你可能已经发现,当前这个例子不能很好的按照顺序执行,因为它们配置在同一时间。所以,选择一个合适的计划会更有意义。

在作业活动监视器下查看维护计划作业

维护计划所创建的每一个作业都放在一个特殊的作业类别-“数据库维护”。你可以在作业活动监视器下使用筛选功能。打开作业活动监视器,点击筛选…按钮。“类别”,键入“数据库维护”(不幸的是你必须键入它,没有下拉菜单选择现有的类别)。勾选应用筛选器,然后点击确定。现在你应该只能看到维护计划的作业,可以更容易地检查你的维护计划作业的执行和结果(如插图11所示)。


插图11:活动监视器中筛选维护计划作业

下篇预告

维护计划作业是一种简便的方式来维护数据库的日常管理。维护计划的实质是由作业、作业步骤、计划支撑。你需要了解这些工作的性质,以确保你不会打破或删除它们。
在我们的最后一篇,我们将查看使用SQL Server代理的MSX/TSX功能扩展作业管理到多台服务器。

原文地址:http://www.sqlservercentral.com/articles/Stairway+Series/72462/

参考文章:http://www.cnblogs.com/Uest/p/4564674.html