【译】第十一篇 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代理系列的第九篇,详细内容请参考原文 在这一系列的上一篇,学习了如何在SQL Server代理作业步骤启动外部程序.你可以使用过时的ActiveX系统,运行批处理命令脚本 ...
- 【译】第一篇 SQL Server代理概述
本篇文章是SQL Server代理系列的第一篇,详细内容请参考原文. SQL Server代理是SQL Server的作业调度和告警服务,如果使用得当,它可以大大简化DBA的工作量.SQL Serve ...
- 【译】第二篇 SQL Server代理作业步骤和子系统
本篇文章是SQL Server代理系列的第二篇,详细内容请参考原文. SQL Server代理作业由一系列的一个或多个作业步骤组成.一个作业步骤分配给一个特定的作业子系统(确定作业步骤去完成的工作). ...
- 【译】第十篇 SQL Server代理使用代理帐户
本篇文章是SQL Server代理系列的第十篇,详细内容请参考原文 在这一系列的上一篇,你查看了msdb库下用于授权访问SQL Server代理的安全角色.这些角色包括SQLAgentUserRole ...
- 【译】第八篇 SQL Server代理使用外部程序
本篇文章是SQL Server代理系列的第八篇,详细内容请参考原文 在这一系列的上一篇,学习了如何用SQL Server代理作业活动监视器监控作业活动和查看作业历史记录.在实时监控和管理SQL Ser ...
- 【译】第六篇 SQL Server代理深入作业步骤工作流
本篇文章是SQL Server代理系列的第六篇,详细内容请参考原文. 正如这一系列的前几篇所述,SQL Server代理作业是由一系列的作业步骤组成,每个步骤由一个独立的类型去执行.每个作业步骤在技术 ...
- 【译】第五篇 SQL Server代理理解代理错误日志
本篇文章是SQL Server代理系列的第五篇,详细内容请参考原文. 正如这一系列的前几篇所述,SQL Server代理作业是由一系列的作业步骤组成,每个步骤由一个独立的类型去执行.在第四篇中我们看到 ...
- 第十篇 SQL Server代理使用代理帐户
本篇文章是SQL Server代理系列的第十篇,详细内容请参考原文 在这一系列的上一篇,你查看了msdb库下用于授权访问SQL Server代理的安全角色.这些角色包括SQLAgentUserRole ...
随机推荐
- [转帖]InfiniBand 主流厂商 和 产品分析
InfiniBand 主流厂商 和 产品分析 Mellanox成立于1999年,总部设在美国加州和以色列,Mellanox公司是服务器和存储端到端连接InfiniBand解决方案的领先供应商.20 ...
- vue 组件 单选切换控制模板 v-bind-is
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>T ...
- CentOS7无法使用tab补全功能??
Centos7在使用最小化安装的时候,没有安装自动补全的包,需要自己手动安装. yum -y install bash-completion 或者你可以安装一些初始化的包组 yum -y groupi ...
- 【loj6145】「2017 山东三轮集训 Day7」Easy 动态点分治+线段树
题目描述 给你一棵 $n$ 个点的树,边有边权.$m$ 次询问,每次给出 $l$ .$r$ .$x$ ,求 $\text{Min}_{i=l}^r\text{dis}(i,x)$ . $n,m\le ...
- 016 Java中的动态代理
作者:nnngu GitHub:https://github.com/nnngu 博客园:http://www.cnblogs.com/nnngu 简书:https://www.jianshu.com ...
- Power Strings POJ - 2406(next水的一发 || 后缀数组)
后缀数组专题的 emm.. 就next 循环节../ 有后缀数组也可以做 从小到大枚举长度i,如果长度i的子串刚好是重复了len/i次,应该满足len % i == 0和rank[0] - rank[ ...
- 【算法复习】codevs1022 匈牙利算法
题目描述 Description 有一个N×M的单位方格中,其中有些方格是水塘,其他方格是陆地.如果要用1×2的矩阵区覆盖(覆盖过程不容许有任何部分重叠)这个陆地,那么最多可以覆盖多少陆地面积. ...
- 51nod 1564 区间的价值 | 分治 尺取法
51nod 1564 区间的价值 题面 一个区间的价值是区间最大值×区间最小值.给出一个序列\(a\), 求出其中所有长度为k的子区间的最大价值.对于\(k = 1, 2, ..., n\)输出答案. ...
- Mininet 系列实验(四)
实验内容 本次实验拓扑图: 在该环境下,h0 向 h1 发送数据包,由于在 mininet 脚本中设置了连接损耗率,在传输过程中会丢失一些包,本次实验的目的是展示如何通过控制器计算路径损耗速率(h0- ...
- Java EE之JSP
1.使用JSP的原因 编写Servlet代码的时候,向响应中输出HTML文档是非常不方便的. PrintWriter writer = response.getWriter(); writer.app ...