第十一篇 SQL Server代理维护计划
本篇文章是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代理维护计划的更多相关文章
- 【译】第十一篇 SQL Server代理维护计划
本篇文章是SQL Server代理系列的第十一篇,详细内容请参考原文 在这一系列的上一篇,我们看了使用代理帐户模仿Windows安全上下文完成作业步骤的工作.大多数子系统支持代理账户,同时子系统限制代 ...
- 第十篇 SQL Server代理使用代理帐户
本篇文章是SQL Server代理系列的第十篇,详细内容请参考原文 在这一系列的上一篇,你查看了msdb库下用于授权访问SQL Server代理的安全角色.这些角色包括SQLAgentUserRole ...
- 【译】第十篇 SQL Server代理使用代理帐户
本篇文章是SQL Server代理系列的第十篇,详细内容请参考原文 在这一系列的上一篇,你查看了msdb库下用于授权访问SQL Server代理的安全角色.这些角色包括SQLAgentUserRole ...
- 第九篇 SQL Server代理了解作业和安全
本篇文章是SQL Server代理系列的第九篇,详细内容请参考原文 在这一系列的上一篇,学习了如何在SQL Server代理作业步骤启动外部程序.你可以使用过时的ActiveX系统,运行批处理命令脚本 ...
- 第八篇 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代理作业步骤启动外部程序.你可以使用过时的ActiveX系统,运行批处理命令脚本 ...
- 【译】第八篇 SQL Server代理使用外部程序
本篇文章是SQL Server代理系列的第八篇,详细内容请参考原文 在这一系列的上一篇,学习了如何用SQL Server代理作业活动监视器监控作业活动和查看作业历史记录.在实时监控和管理SQL Ser ...
随机推荐
- DRAM 内存介绍(二)
参考资料:http://www.anandtech.com/show/3851/everything-you-always-wanted-to-know-about-sdram-memory-but- ...
- [Java] 解决spring的xml标签内不能自由增加说明的难题,方便调试、部署时进行批量屏蔽
作者:zyl910 以往我们想在spring的xml配置文件中增加说明文本时,只能使用xml注释(<!-- 注释 -->).这对于"调试.部署时想批量屏蔽部分bean" ...
- ubuntu 16.04 source (HUST and 163)
#HUST deb http://mirrors.hust.edu.cn/ubuntu/ xenial main restricted universe multiverse deb http://m ...
- windows下ruby安装环境配置
Ruby 安装 从源代码在windows下安装Ruby是非常苦逼的差事,可以从http://rubyinstaller.org/ 或者 http://railsinstaller.org/ 下载已经打 ...
- fio terse输出详解
fio, the flexible IO tester, is a very useful tool for benchmarking IO performance. It has an option ...
- 在 Excel 中使用公式拆分字符串日期
如图所示,分别使用 LEFT.MIDB.RIGHT 来拆分再拼接字符串即可: =LEFT(A1,4)&"-"&MIDB(A1,5,2)&"-&qu ...
- RxJava操作符之Share, Publish, Refcount
原文链接:http://nerds.weddingpartyapp.com/tech/2015/01/21/rxjava-share-publish-refcount-and-all-that-jaz ...
- AngularJs解决方案笔记(1)
接触AngularJs约1年半时间,目前用其独立完成了一个Solution, 构建出比较完整的项目架构,从C/S往B/S转型的过程背后是大量精力与时间成本的付出,特别是工作了好几年后, 本来掌握好的稳 ...
- NPOIHelper.cs (NPOI 2.1.1)
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.D ...
- SQL2008数据库优化常用脚本
--查询某个数据库的连接数 select count(*) from Master.dbo.SysProcesses where dbid=db_id() --前10名其他等待类型 SELECT TO ...