本主题介绍如何使用 SQL Server 2014 中的维护计划向导创建单服务器或多服务器维护计划。 维护计划向导创建一个维护计划,Microsoft SQL Server 代理可以定期运行。 这样,就可以按指定的时间间隔执行各种数据库管理任务,包括备份、数据库完整性检查或数据库统计信息更新。
本主题内容
在您开始之前
局限性与限制
若要创建多服务器维护计划,必须配置包含一台主服务器和一个或多个目标服务器的多服务器环境。 必须在主服务器上创建和维护多服务器维护计划。 可以在目标服务器上查看这些计划,但不维护这些计划。
db_ssisadmin 和 dc_admin 角色的成员可以将其特权提升为 sysadmin。 由于这些角色可以修改集成服务包,而这些包可由 SQL Server 使用 SQL Server 代理的 sysadmin 安全性上下文执行,因此可能出现特权提升的情况。 要在运行维护计划、数据收集组和其他集成服务包时防止这种特权提升,请将运行包的 SQL Server 代理作业配置为使用具有有限特权的代理帐户,或只将 sysadmin 成员添加到 db_ssisadmin 和 dc_admin 角色。
安全
权限
若要创建或管理维护计划,您必须是 sysadmin 固定服务器角色的成员。 对象资源管理器只为属于 sysadmin 固定服务器角色成员的用户显示 “维护计划” 节点。
使用维护计划向导
启动维护计划向导
请扩展您想创建管理计划的服务器。
展开 “管理 ”文件夹。
右键单击 “维护计划 ”文件夹,然后选择“ 维护计划向导”。
在 “SQL Server 维护计划向导” 页上,单击“ 下一步”。
在 “选择计划属性 ”页上:
在 “名称 ”框中,输入要创建的维护计划的名称。
在 “说明 ”框中,简要描述维护计划。
在 运行方式 列表中,指定 Microsoft SQL Server 代理在执行维护计划时使用的凭据。
选择 每个任务的单独计划 或 整个计划的单一计划或无计划 来指定维护计划的定期计划。
注释
如果选择 每个任务的单独计划,则需要针对维护计划中的每个任务 执行下面的步骤 。
如果选择整个计划的单个安排或没有安排,请在安排下单击更改。
在“ 新建作业计划 ”对话框中的“ 名称 ”框中,输入作业计划的名称。
在 “计划类型 ”列表中,选择计划类型:
SQL Server 代理启动时自动启动
CPU 空闲时启动
定期。 这是默认选项。
一次
选中或清除 “启用 ”复选框以启用或禁用计划。
如果选择 “定期”:
在 “频率”下,在 “发生” 列表中,指定出现频率:
如果选择 “每日”,请在 “递归”框中 输入作业计划以天为单位重复的频率。
如果选择 “每周”,请在 “重复周期”框中 输入作业计划以周为单位重复的频率。 选择作业计划运行的星期几。
如果选择每月,请选择日或次。
如果选择 “天”,请输入希望作业计划运行的月份日期以及作业计划在几个月内重复的频率。 例如,如果希望作业计划在每个月的第 15 天运行,请选择 “天 ”,并在第二个框中输入“15”,在第二个框中输入“2”。 请注意,第二个框中允许的最大数字是“99”。
如果选择 “The”,请在希望作业计划运行的月份内选择一周的特定日期,以及作业计划在几个月内重复的频率。 例如,如果希望作业计划每隔一个月在当月的最后一个工作日运行,请选择“天”,在第一个列表中选择“最后一个”,在第二个列表中选择“工作日”,然后在最后一个框中输入“2”。 还可以从前两个列表中选择 第一个、 第二个、 第三个或 第四个,以及特定的工作日(例如:星期日或星期三)。 请注意,最后一个框中允许的最大数字是“99”。
在 “每日频率”下,指定作业计划在运行作业计划当天重复的频率:
如果选择“发生一次的时间”,请在“发生一次的时间”框中输入作业计划安排的具体时间。 输入当天的小时、分钟和秒,以及 AM 或 PM。
如果选择 “每次发生”,请指定在 “频率” 下选定的一天内作业计划运行的频率。 例如,如果您希望在运行作业计划的那一天中每 2 小时重复一次作业计划,请选择每次发生,在第一个框中输入“2”,然后从列表中选择小时。 在此列表中,还可以选择 minute(s) 和 second(s)。 请注意,第一个框中允许的最大数字是“100”。
在“开始于”框中,输入作业计划开始的时间。 在“ 结束时间 ”框中,输入作业计划应停止重复的时间。 输入当天的小时、分钟和秒,以及 AM 或 PM。
在 “持续时间”下,在 “开始日期”中,输入希望作业计划开始运行的日期。 选择 “结束日期 ”或 “无结束日期 ”以指示作业计划何时应停止运行。 如果选择 “结束日期”,请输入希望作业计划停止运行的日期。
如果选择“一次性”,请在“一次性事件”下的“日期”框中输入作业计划将运行的日期。 在 “时间” 框中,输入设定作业计划执行的时间。 输入当天的小时、分钟和秒,以及 AM 或 PM。
在 “摘要”下,在 “说明”中,验证所有作业计划设置是否正确。
单击 “确定” 。
单击 “下一步” 。
在 “选择目标服务器 ”页上,选择要运行维护计划的服务器。 此页面仅在配置为主服务器的 SQL Server 实例上可见。
注释
若要创建多服务器维护计划,必须配置包含一台主服务器和一个或多个目标服务器的多服务器环境,并且本地服务器应配置为主服务器。 在多服务器环境中,此页面显示 (本地) 主服务器和所有相应的目标服务器。
在 “选择维护任务 ”页上,选择要添加到计划的一个或多个维护任务。 选择所有必需的任务后,单击“ 下一步”。
注释
在此处选择的任务将确定在下面的 “选择维护任务订单 ”页之后需要完成的页面。
在“选择维护任务顺序”页上,选择一个任务,然后单击“上移...”或“下移...”以更改其执行顺序。 完成后,或者如果对当前任务顺序感到满意,请单击“ 下一步”。
注释
如果在上面的“选择计划属性”页上为每个任务选择了“单独计划”,则无法更改此页上维护任务的顺序。
定义数据库检查完整性 (CHECKDB) 任务
在“定义数据库检查完整性任务”页上,选择检查用户和系统表及索引分配和结构完整性的数据库。 通过运行
DBCC CHECKDBTransact-SQL 语句,此任务可确保报告数据库的任何完整性问题,从而允许系统管理员或数据库所有者稍后解决这些问题。 有关详细信息,请参阅 DBCC CHECKDB (Transact-SQL)完成后,单击“ 下一步”。此页上提供了以下选项。
数据库 列表
指定受此任务影响的数据库。所有数据库
生成针对除 tempdb 以外的所有Microsoft SQL Server 数据库运行此任务的维护计划。
系统数据库
生成针对 SQL Server 系统数据库( tempdb 和用户创建的数据库除外)运行此任务的维护计划。
所有用户数据库(不包括 master、model、msdb、tempdb)
生成针对所有用户创建的数据库运行此任务的维护计划。 不会针对 SQL Server 系统数据库运行维护任务。
这些数据库
生成仅针对所选数据库运行此任务的维护计划。 如果选择此选项,则必须选择列表中的至少一个数据库。
“包含索引 ”复选框
检查所有索引页以及表数据页的完整性。
定义数据库收缩任务
在“定义收缩数据库任务”页上,创建一个任务,该任务尝试使用
DBCC SHRINKDATABASE语句NOTRUNCATETRUNCATEONLY或选项来减小所选数据库的大小。 有关详细信息,请参阅 DBCC SHRINKDATABASE (Transact-SQL)。 完成后,单击“下一步”。警告
被移动用来收缩文件的数据可以分布到文件的任何可用位置。 这将导致索引碎片并使搜索索引范围的查询变慢。 若要消除碎片,请考虑在收缩后重新生成文件的索引。
此页上提供了以下选项。
数据库 列表
指定受此任务影响的数据库。 有关此列表上可用选项的详细信息,请参阅上面的步骤 9。当数据库增长超出限制时收缩数据库
指定导致任务执行的大小(以兆字节为单位)。缩减后剩余的可用空间量
当数据库文件中的可用空间达到此大小(以百分比为单位)时,停止收缩。在数据库文件中保留可用空间
数据库压缩为连续页,但页面未解除分配,数据库文件不会收缩。 如果希望数据库再次展开,并且不想重新分配空间,请使用此选项。 使用此选项时,数据库文件不会尽可能减少。 这使用了 NOTRUNCATE 这个选项。将释放的空间返回到操作系统
数据库被精简为连续的页面,并将这些页面释放回操作系统供其他程序使用。 此数据库文件尽可能压缩。 这里使用了 TRUNCATEONLY 选项。 这是默认选项。
定义索引任务
在“ 定义重新组织索引任务 ”页上,选择要将索引页移动到更高效的搜索顺序的服务器或服务器。 此任务使用
ALTER INDEX ... REORGANIZE语句。 有关详细信息,请参阅 ALTER INDEX (Transact-SQL)。 完成后,单击“下一步”。此页上提供了以下选项。
数据库 列表
指定受此任务影响的数据库。 有关此列表上可用选项的详细信息,请参阅上面的步骤 9。对象 列表
限制 选择 列表以显示表、视图或两者。 仅当从上面的 “数据库” 列表中选择单个数据库时,此列表才可用。选择项 列表
指定受此任务影响的表或索引。 在“对象”框中选择 “表和视图 ”时不可用。压缩大型对象 复选框
尽可能释放表和视图的空间。 此选项使用ALTER INDEX ... LOB_COMPACTION = ON。在“ 定义重新生成索引任务” 页上,选择要在其中重新创建多个索引的数据库或数据库。 此任务使用
ALTER INDEX ... REBUILD PARTITION语句。 有关详细信息,请参阅 ALTER INDEX(Transact-SQL)。) 完成后,单击“下一步”。此页上提供了以下选项。
数据库 列表
指定受此任务影响的数据库。 有关此列表上可用选项的详细信息,请参阅上面的步骤 9。对象 列表
限制 选择 列表以显示表、视图或两者。 仅当从上面的 “数据库” 列表中选择单个数据库时,此列表才可用。选择 列表
指定受此任务影响的表或索引。 在“对象”框中选择 “表和视图 ”时不可用。空闲空间选项 区域
提供用于将填充因子应用于索引和表的选项。每页的默认空闲空间
以默认的空闲空间量重新整理页面。 这会删除数据库中表的索引,并使用创建索引时指定的填充因子重新创建这些索引。 这是默认选项。将每页可用空间更改为 框
删除数据库中表的索引,并使用新的自动计算填充因子重新创建这些索引,从而保留索引页上的指定可用空间量。 百分比越高,索引页上保留的可用空间越多,索引越大。 有效值为 0 到 100。 使用选项FILLFACTOR。高级选项 区域
提供用于对索引和重新编制索引进行排序的其他选项。在 tempdb 中对结果进行排序复选框
使用SORT_IN_TEMPDB选项来确定在创建索引期间生成的中间排序结果暂时存储的位置。 如果不需要排序作,或者可以在内存中执行排序,则SORT_IN_TEMPDB忽略该选项。在重新编制索引时使索引保持联机 复选框
ONLINE选项允许用户在进行索引操作期间访问基础表、聚集索引以及任何相关的非聚集索引数据。 选择此选项将激活用于重建不允许在线重新生成的索引的其他选项:不要重新生成索引 和 脱机重新生成索引。注释
并不是 SQL Server 2014 的每个版本都支持联机索引操作。 有关详细信息,请参阅 SQL Server 2014 各个版本支持的功能。
定义更新统计信息任务
在“ 定义更新统计信息任务 ”页上,定义表和索引统计信息将更新的数据库或数据库。 此任务使用
UPDATE STATISTICS语句。 有关详细信息,请参阅 UPDATE STATISTICS (Transact-SQL) 完成后,单击“下一步”此页上提供了以下选项。
数据库 列表
指定受此任务影响的数据库。 有关此列表上可用选项的详细信息,请参阅上面的步骤 9。对象 列表
限制 选择 列表以显示表、视图或两者。 仅当从上面的 “数据库” 列表中选择单个数据库时,此列表才可用。选择 列表
指定受此任务影响的表或索引。 在“对象”框中选择 “表和视图 ”时不可用。所有现有统计信息
更新列和索引的统计信息。仅列统计信息
仅更新列统计信息。 使用选项WITH COLUMNS。仅索引统计信息
仅更新索引统计信息。 使用选项WITH INDEX。扫描类型
用于收集更新统计信息的扫描类型。完全扫描
读取表或视图中的所有行以收集统计信息。取样者为
指定表或索引视图的百分比,或收集较大表或视图的统计信息时要采样的行数。
定义历史记录清理任务
在“ 定义历史记录清理任务” 页上,定义要放弃旧任务历史记录的数据库或数据库。 此任务使用
EXEC sp_purge_jobhistory和EXEC sp_maintplan_delete_logEXEC sp_delete_backuphistory语句从 msdb 表中删除历史记录信息。 完成后,单击 “下一步” 。此页上提供了以下选项。
选择要删除的历史数据
选择要删除的任务数据类型/备份和还原历史记录
保留最近创建的备份的记录有助于 SQL Server 在还原数据库时创建恢复计划。 保持期至少应为完整数据库备份的频率。SQL Server 代理作业历史记录
此历史记录可帮助你排查失败的作业问题,或确定数据库作发生的原因。维护计划历史记录
此历史记录可帮助你排查维护计划作业失败的问题,或确定数据库作发生的原因。删除早于特定时间的历史数据
指定要删除的项目的期限。 可以指定 Hour(s)、 Day(s)、 Week( 默认值)、 Month(s)或 Year(s)
定义执行代理作业任务
- 在“ 定义执行代理作业任务” 页上的 “可用 SQL Server 代理作业”下,选择要运行的作业或作业。 如果没有 SQL 代理作业,此选项将不可用。 此任务使用
EXEC sp_start_job语句。 有关详细信息,请参阅 sp_start_job(Transact-SQL)完成后,单击“ 下一步”。
定义备份任务
在“ 定义备份数据库”(完整)“任务 页上,选择要运行完整备份的数据库或数据库。 此任务使用
BACKUP DATABASE语句。 有关详细信息,请参阅 BACKUP (Transact-SQL)。 完成后,单击 “下一步” 。此页上提供了以下选项。
备份类型 列表
显示要执行的备份类型。 这是只读的。数据库 列表
指定受此任务影响的数据库。 有关此列表上可用选项的详细信息,请参阅上面的步骤 9。备份组件
选择 “数据库 ”以备份整个数据库。 选择 “文件和文件组 ”,仅备份数据库的一部分。 如果选择,请提供文件或文件组名称。 在“数据库”框中选择多个数据库时,仅为备份组件指定数据库。 若要执行文件或文件组备份,请为每个数据库创建一个任务。 仅当从上面的 “数据库” 列表中选择单个数据库时,这些选项才可用。备份集将过期 复选框
指定允许覆盖该备份的备份集的日期。 选择 后 并输入过期天数,或选择 在 并输入到期日期。 如果选择 URL 作为备份目标,则会禁用此选项。备份到
指定要备份数据库的介质。 选择 “磁盘”、“ 磁带”或 “URL”。 只有连接到数据库所在计算机的磁带设备可用。跨一个或多个文件备份数据库
单击“ 添加 ”以打开 “选择备份目标 ”对话框。 如果选择 URL 作为备份目标,则会禁用此选项。单击“ 删除 ”以从框中删除文件。
单击 “内容 ”可读取文件头并显示文件的当前备份内容。
“选择备份目标 ”对话框
为备份目标选择文件、磁带驱动器或备份设备。 如果选择 URL 作为备份目标,则会禁用此选项。如果备份文件存在 列表
指定如何处理现有备份。 选择 “追加 ”以在文件或磁带上的任何现有备份之后添加新备份。 选择 “覆盖” 以删除文件或磁带的旧内容,并将其替换为此新备份。为每个数据库创建备份文件
在文件夹框中指定的位置创建备份文件。 为每个所选数据库创建一个文件。 如果选择 URL 作为备份目标,则会禁用此选项。为每个数据库创建子目录 复选框
在指定的磁盘目录下创建一个子目录,其中包含作为维护计划的一部分备份的每个数据库的数据库备份。重要
子目录将从父目录继承权限。 限制权限以避免未经授权的访问。
文件夹盒
指定要包含自动创建的数据库文件的文件夹。 如果选择 URL 作为备份目标,则会禁用此选项。SQL 凭据
选择用于向 Azure 存储进行身份验证的 SQL 凭据。 如果没有可以使用的现有 SQL 凭据,请单击“ 创建 ”按钮创建新的 SQL 凭据。重要
单击“ 创建 ”时打开的对话框需要订阅的管理证书或发布配置文件。 如果无权访问管理证书或发布配置文件,可以通过指定存储帐户名称并使用 Transact-SQL 或 SQL Server Management Studio 访问密钥信息来创建 SQL 凭据。 请参阅“ 创建凭据 主题以使用 Transact-SQL 创建凭据”中的示例代码。 或者,使用 SQL Server Management Studio,从数据库引擎实例中右键单击 “安全性”,选择“ 新建”,然后选择“ 凭据”。 在“密码”字段中指定标识和访问密钥的存储帐户名称。
Azure 存储容器
指定 Azure 存储容器的名称URL 前缀:
这是根据存储在 SQL 凭据中的存储帐户信息和指定的 Azure 存储容器名称自动生成的。 建议不要编辑此字段中的信息,除非使用的是使用存储帐户>以外的<格式的域。blob.core.windows.net。备份文件扩展名 框
指定要用于备份文件的扩展。 默认值为.bak。验证备份完整性 复选框
验证备份集是否已完成,以及所有卷是否可读。备份加密
若要创建加密备份,请选中“ 加密备份 ”复选框。 选择要用于加密步骤的加密算法,并从现有证书或非对称密钥列表中提供证书或非对称密钥。 加密的可用算法包括:AES 128
AES 192
AES 256
三重 DES
如果选择追加到现有备份集,则会禁用加密选项。
建议的做法是备份证书或密钥并将其存储在与加密的备份不同的位置。
仅支持驻留在可扩展密钥管理(EKM)中的密钥。
设置备份压缩 列表
在 SQL Server 2008 Enterprise(或更高版本)中,选择以下 备份压缩 值之一:使用默认服务器设置 单击以使用服务器级默认值。 此默认值由 备份压缩默认 服务器配置选项设置。 有关如何查看此选项的当前设置的信息,请参阅 “查看或配置备份压缩默认服务器配置选项”。 压缩备份 单击此处压缩备份,忽略服务器级默认值。
**重要** 默认情况下,压缩会显著增加 CPU 使用率,压缩进程消耗的额外 CPU 可能会对并发操作产生不利影响。 因此,你可能希望在 CPU 使用率受资源调控器限制的会话中创建低优先级压缩备份。 有关详细信息,请参阅 使用资源调控器通过备份压缩(Transact-SQL)限制 CPU 使用率。不压缩备份 单击可创建未压缩的备份,而不考虑服务器级别默认值。 在定义备份数据库(差异)任务页上,选择要进行部分备份的一个或多个数据库。 有关此页上可用选项的详细信息,请参阅上面的步骤 16 中的定义列表。 此任务使用
BACKUP DATABASE ... WITH DIFFERENTIAL语句。 有关详细信息,请参阅 BACKUP (Transact-SQL)。 完成后,单击 “下一步” 。在“ 定义备份数据库”(事务日志)任务 页上,选择要对其运行事务日志备份的数据库或数据库。 有关此页上可用选项的详细信息,请参阅上面的步骤 16 中的定义列表。 此任务使用
BACKUP LOG语句。 有关详细信息,请参阅 BACKUP (Transact-SQL)。 完成后,单击 “下一步” 。
定义维护清理任务
在“ 定义维护清理任务” 页上,指定要作为维护计划的一部分删除的文件类型,包括维护计划和数据库备份文件创建的文本报告。 此任务使用
EXEC xp_delete_file语句。 完成后,单击 “下一步” 。重要
此任务不会自动删除指定目录的子文件夹中的文件。 此预防措施可减少使用维护清理任务删除文件的恶意攻击的可能性。 如果要删除一级子文件夹中的文件,则必须选择 “包括一级子文件夹”。
此页上提供了以下选项。
删除以下类型的文件
指定要删除的文件的类型。备份文件
删除数据库备份文件。维护计划文本报告
删除以前运行维护计划的文本报告。文件位置
指定要删除的文件的路径。删除特定文件
删除“ 文件名 ”文本框中提供的特定文件。基于扩展名搜索文件夹和删除文件
删除指定文件夹中具有指定扩展名的所有文件。 使用此函数可以一次性删除多个文件,例如具有.bak扩展名的星期二文件夹中的所有备份文件。文件夹 框
包含要删除的文件的文件夹的路径和名称。文件扩展名 框
提供要删除的文件的文件扩展名。 若要一次删除多个文件,如星期二文件夹中具有.bak扩展名的所有备份文件,请指定.bak。“包括一级子文件夹 ”复选框
从“文件夹”中指定的文件夹下的第一级子文件夹中删除为文件扩展名指定的扩展名的文件。根据文件在任务运行时的年龄删除文件的复选框
指定要删除的文件的最小期限,在删除早于以下时间的文件框中提供一个数字和一个时间单位。删除早于以下时间的文件
通过提供一个数字和时间单位(小时、 日、 周、 月或 年)来指定要删除的文件的最小年龄。 将删除早于指定时间范围的文件。
选择报表选项
在 “选择报表选项 ”页上,选择用于保存或分发维护计划作报表的选项。 此任务使用
EXEC sp_notify_operator语句。 有关详细信息,请参阅 sp_notify_operator(Transact-SQL)。完成后,单击“ 下一步”。此页上提供了以下选项。
将报表写入文本文件 复选框
将报表保存在文件中。文件夹位置 框
指定将包含报表的文件的位置。电子邮件报告 复选框
当任务失败时发送电子邮件。 若要使用此任务,必须启用数据库邮件并将其与 MSDB 正确配置为邮件主机数据库,并且具有具有有效电子邮件地址的 MicrosoftSQL Server 代理作员。代理操作员
指定电子邮件的收件人。邮件配置文件
指定定义电子邮件发件人身份的配置文件。
完成向导
在 “完成向导 ”页上,验证在上一页上所做的选择,然后单击“ 完成”。
在 “维护向导进度 ”页上,监视有关维护计划向导作的状态信息。 根据您在向导中选择的选项,进度页可能包含一个或多个操作。 顶部框显示向导的总体状态以及向导收到的状态、错误和警告消息数。
“ 维护向导进度 ”页上提供了以下选项:
详细信息
提供向导执行操作后的动作、状态和返回的任何消息。行动
指定每个操作的类型和名称。地位
指示整个向导作是否返回 “成功 ”或 “失败”的值。消息
提供从进程返回的任何错误或警告消息。报告
创建包含“创建分区向导”结果的报表。 选项包括 “查看报表”、“ 将报表保存到文件”、“ 将报表复制到剪贴板”和 “以电子邮件发送报表”。查看报表
打开“查看报告”对话框,其中包含关于“创建分区向导”进度的文本报告。将报表保存到文件
打开“ 另存为报表 ”对话框。将报表复制到剪贴板
将向导进度报告的结果复制到剪贴板。以电子邮件的形式发送报表
将向导进度报告的结果复制到电子邮件中。