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


在这一系列的上一篇,我们看了使用代理帐户模仿Windows安全上下文完成作业步骤的工作。大多数子系统支持代理账户,同时子系统限制代理账户,要求用户必须明确授权可以在作业步骤使用代理凭据。在这一篇,你将检查维护计划。维护计划是用来执行各种任务来优化你的数据库,包括备份、重建和/或重整索引、更新统计。维护计划会创建作业。这一篇我们将查看维护计划,并查看维护计划所创建的作业。
维护计划概述
维护计划是一个非常漂亮的图形界面来帮助你维护SQL Server数据库的常见任务。使用维护计划是一个很好的捷径,而不是手动创建正确的T-SQL或PowerShell脚本来执行这些日常维护任务。这些任务包括:
->检查数据库完整性
->收缩数据库
->重新组织索引
->重新生成索引
->更新统计信息
->清除历史记录
->执行SQL Server代理作业
->备份数据库
->"清除维护"任务
字面上你能明白这些任务能做的,但你也可以进一步了解http://msdn.microsoft.com/en-us/library/ms140255.aspx。如果你查看链接你会注意到你在阅读SQL Server Integration Services(SSIS)任务。这是因为维护计划事实上是SSIS包易于DBA创建和维护。
每一个维护计划由一个或多个子计划组成。每一个子计划可以运行于不同的调度(因为它们是SQL Server代理下独立的作业)。你只能逻辑上将维护计划中的子计划关联到一起。你可以有多个维护计划,维护计划可以应用于一个或多个数据库。
创建维护计划
首先你会注意到,维护计划并没有在SQL Server代理下面。导航到管理->维护计划。数据库上默认是没有创建维护计划的。右击维护计划,你可看到"新建维护计划"和"维护计划向导",大部分人发现使用向导创建维护计划更快捷方便。启动它,然后你会看到图11.1所示界面

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

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

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

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

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

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

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

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

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

图11.10 维护计划作业步骤
你可以返回作业,然后更改作业的调度。你可能已经发现,当前这个例子不能很好的按照顺序执行,因为它们配置在同一时间。所以,选择一个合适的计划会更有意义。
在作业活动监视器下查看维护计划作业
维护计划所创建的每一个作业都放在一个特殊的作业类别-“数据库维护”。你可以在作业活动监视器下使用筛选功能。打开作业活动监视器,点击筛选…按钮。“类别”,键入“数据库维护”(不幸的是你必须键入它,没有下拉菜单选择现有的类别)。勾选应用筛选器,然后点击确定。现在你应该只能看到维护计划的作业,可以更容易地检查你的维护计划作业的执行和结果(如图11.11所示)。

图11.11 活动监视器中筛选维护计划作业
下一篇

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

第十一篇 SQL Server代理维护计划的更多相关文章

  1. 【译】第十一篇 SQL Server代理维护计划

    本篇文章是SQL Server代理系列的第十一篇,详细内容请参考原文 在这一系列的上一篇,我们看了使用代理帐户模仿Windows安全上下文完成作业步骤的工作.大多数子系统支持代理账户,同时子系统限制代 ...

  2. 第十篇 SQL Server代理使用代理帐户

    本篇文章是SQL Server代理系列的第十篇,详细内容请参考原文 在这一系列的上一篇,你查看了msdb库下用于授权访问SQL Server代理的安全角色.这些角色包括SQLAgentUserRole ...

  3. 【译】第十篇 SQL Server代理使用代理帐户

    本篇文章是SQL Server代理系列的第十篇,详细内容请参考原文 在这一系列的上一篇,你查看了msdb库下用于授权访问SQL Server代理的安全角色.这些角色包括SQLAgentUserRole ...

  4. 第九篇 SQL Server代理了解作业和安全

    本篇文章是SQL Server代理系列的第九篇,详细内容请参考原文 在这一系列的上一篇,学习了如何在SQL Server代理作业步骤启动外部程序.你可以使用过时的ActiveX系统,运行批处理命令脚本 ...

  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代理作业步骤启动外部程序.你可以使用过时的ActiveX系统,运行批处理命令脚本 ...

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

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

随机推荐

  1. mssql 获取表空间大小

    create table #Data(name varchar(100),row varchar(100),reserved varchar(100),data varchar(100),index_ ...

  2. nginx+tomcat+java部署总结

    昨天部署了一下nginx+tomcat+java出现了很多问题,以下为整理总结. 使用了两种部署方式,一种是源码部署,一种是war部署. java源码部署总结: 环境:nginx+tomcat 部署方 ...

  3. Android 源码获取-----在Windows环境下通过Git得到Android源代码

    在学习Android的过程中,深入其源代码研究对我们来说是非常重要的,这里将介绍如何通过在Windows环境下使用Git来得到我们的Android源代码. 1.首先确保你电脑上安装了Git,这个通过  ...

  4. 轻松搞定面试中的二叉树题目(java&python)

    树是一种比较重要的数据结构,尤其是二叉树.二叉树是一种特殊的树,在二叉树中每个节点最多有两个子节点,一般称为左子节点和右子节点(或左孩子和右孩子),并且二叉树的子树有左右之分,其次序不能任意颠倒.二叉 ...

  5. 将 Book-Crossing Dataset 书籍推荐算法中 CVS 格式测试数据集导入到MySQL数据库

    本文内容 最近看<写给程序员的数据挖掘指南>,研究推荐算法,书中的测试数据集是 Book-Crossing Dataset 提供的亚马逊用户对书籍评分的真实数据.推荐大家看本书,写得不错, ...

  6. C# 模拟鼠标(mouse_event)

    想必有很多人在项目开发中可能遇见需要做模拟鼠标点击的小功能,很多人会在 百度过后采用mouse_event这个函数,不过我并不想讨论如何去使用mouse_event 函数怎么去使用,因为那没有多大意义 ...

  7. XML 文档和数据

    .NET Framework 4.5 其他版本 .NET Framework 提供了一组全面而集成的类,可用来方便地生成可以识别 XML 的应用程序. 通过以下命名空间中的类,可以分析和编写 XML, ...

  8. <欧奈尔制胜法则—如何在股市中赚钱>读书笔记

    在选择个股建仓时,要选择那些在最近季度报表中,每股收益比上年同期要有较大增幅的股票. 每股收益是指公司税后净利润除以公司普通股的总股本 选择年增长率为25%--50%的公司 年度盈利和季度盈利都要出色 ...

  9. 301 redirect Domain Name using global.asax

    void Application_BeginRequest(object sender, EventArgs e) { if (HttpContext.Current.Request.Url.ToSt ...

  10. 第一篇HBuilder在这里!

    本文作为一个引子,所有相关文章,都会在这里做一个索引,现在还空着.谢谢