使用维护计划向导

本主题说明如何在 SQL Server 2012 中使用维护计划向导创建单个服务器或多服务器维护计划。 维护计划向导用于创建 Microsoft SQL Server 代理可定期运行的维护计划。 它使您可以执行各种数据库管理任务,包括备份、数据库完整性检查或以指定的间隔更新数据库统计信息。

本主题内容

  • 开始之前:

    限制和局限

    安全性

  • 在 SQL Server Management Studio 中使用维护计划向导创建维护计划

开始之前

限制和局限

  • 若要创建多服务器维护计划,必须配置包含一个主服务器和一个(或多个)目标服务器的多服务器环境。 必须在主服务器上创建和维护多服务器维护计划。 在目标服务器上可以查看这些计划,但不能进行维护。

  • db_ssisadmindc_admin 角色的成员可以将其特权提升为 sysadmin。 因为这些角色可以修改 Integration Services 包,而 SQL Server 使用 SQL Server 代理的 sysadmin 安全上下文可以执行这些包,所以可以实现特权提升。 若要防止在运行维护计划、数据收集组和其他 Integration Services 包时提升特权,请将运行包的 SQL Server 代理作业配置为具有有限特权的代理帐户,或仅将 sysadmin 成员添加到 db_ssisadmindc_admin 角色。

安全性

权限

若要创建或管理维护计划,您必须是 sysadmin 固定服务器角色的成员。 对象资源管理器只为属于 sysadmin 固定服务器角色成员的用户显示**“维护计划”**节点。

用于“返回首页”链接的箭头图标[Top]

使用维护计划向导

启动维护计划向导

  1. 展开要创建您的管理计划的服务器。

  2. 展开**“管理”**文件夹。

  3. 右键单击**“维护计划”文件夹,然后选择“维护计划向导”**。

  4. 在**“SQL Server 维护计划向导”页上,单击“下一步”**。

  5. 关于**“选择计划属性”**页:

    1. 在**“名称”**框中,输入您创建的维护计划的名称。

    2. 在**“说明”**框中,简要介绍您的维护计划。

    3. 在**“运行身份”**列表中,指定执行维护计划时 Microsoft SQL Server 代理使用的凭据。

    4. 选择**“每项任务单独计划”“整个计划统筹安排或无计划”**指定维护计划的重复执行计划。

      注意注意

      如果您选中“每项任务单独计划”,则需要为您维护计划中的每个任务按照 e. 下面的步骤执行操作。

    5. 如果您选择了**“整个计划统筹安排或无计划”,则在“计划”下面单击“更改”**。

      1. 在**“新建作业计划”对话框的“名称”**框中,输入作业计划的名称。

      2. 在**“计划类型”**列表中选择计划类型:

        • SQL Server 代理启动时自动启动

        • CPU 空闲时启动

        • 重复执行。 这是默认选项。

        • 一次

      3. 选择或清除**“已启用”**复选框以启用或禁用计划。

      4. 如果选择**“重复执行”**:

        1. 在**“频率”下的“执行”**列表中,指定执行的频率:

          • 如果选择**“每天”,请在“执行间隔”**框中输入重复作业计划的频率(天)。

          • 如果选择**“每周”,请在“执行间隔”**框中输入重复作业计划的频率(周)。 选择运行作业计划的一周中的某天或某些天。

          • 如果选择**“每月”,可以选择“天”“该”**。

            • 如果选择**“天”,请输入要运行作业计划的当月日期和作业计划的重复频率(月)。 例如,如果您要每隔一个月在当月的 15 日运行计划作业,请选择“天”**,在第一个框中输入“15”,在第二个框中输入“2”。 请注意,第二个框中允许的最大数是“99”。

            • 如果选择**“该”,请选择要运行作业计划的当月内一周的特定一天和作业计划的重复频率(月)。 例如,如果您要每隔一个月在当月的最后一个工作日运行作业计划,请选择“天”,从第一个列表中选择“最后一周”,从第二个列表中选择“工作日”,然后在最后一个框中输入“2”。 还可以从前两个列表中选择“第一周”“第二周”“第三周”“第四周”**以及特定工作日(例如星期日或星期三)。 请注意,最后一个框中允许的最大数是“99”。

        2. 在**“每天频率”**下,指定作业计划运行的当天作业计划的重复频率。

          • 如果选择**“执行一次,时间为:”,请在“执行一次,时间为:”**框中输入运行作业计划的当天的特定时间。 输入当天的小时、分钟和秒以及 AM 或 PM。

          • 如果选择**“执行间隔”,请在“频率”下指定所选日运行作业计划的频率。 例如,如果要在运行作业计划的当天每隔 2 小时重复一次,请选择“执行间隔”,在第一个框中输入“2”,然后从列表中选择“小时”。 从此列表中还可以选择“分钟”“秒”**。 请注意,第一个框中允许的最大数是“100”。

            在**“开始时间”框中,输入开始运行作业计划的时间。 在“结束时间”**框中,输入停止重复作业计划的时间。 输入当天的小时、分钟和秒以及 AM 或 PM。

        3. 在**“持续时间”下的“开始日期”中,输入希望作业计划开始运行的日期。 选择“结束日期”“无结束日期”以指示作业计划应在何时停止运行。 如果选择“结束日期”**,输入希望作业计划停止运行的日期。

      5. 如果选择**“执行一次”,请在“执行一次”下的“日期”框中输入将运行作业计划的日期。 在“时间”**框中,输入将运行作业计划的时间。 输入当天的小时、分钟和秒以及 AM 或 PM。

      6. 在**“摘要”下的“说明”**中,验证所有作业计划设置均正确。

      7. 单击**“确定”**。

    6. 单击**“下一步”**。

  6. 在**“选择目标服务器”**页上,选择要运行维护计划的服务器。 此页仅在配置为主服务器的 SQL Server 实例上可见。

    注意注意

    若要创建多服务器维护计划,必须配置包含一台主服务器和一台或多台目标服务器的多服务器环境,并且应将本地服务器配置为主服务器。 在多服务器环境中,此页显示“(本地)”主服务器和所有相应的目标服务器。

  7. 在**“选择维护任务”页上,选择一个或多个要添加到该计划中的维护任务。 当您已选择所有必要的任务时,请单击“下一步”**。

    注意注意

    您在此选择的任务将确定在“选择维护任务顺序”页之后将需要完成的页。

  8. 在**“选择维护任务顺序”页上,选择一个任务,然后单击“上移…”“下移…”以更改其执行顺序。 完成操作后,或如果您对当前任务的顺序感到满意时,请单击“下一步”**。

    注意注意

    如果您在上面的“选择计划属性”页中选择了“每项任务单独计划”,则无法在此页上更改维护任务的顺序。

    用于“返回首页”链接的箭头图标[Top]

定义数据库检查完整性 (CHECKDB) 任务

  • 在**“定义数据库检查完整性任务”页中,选择将检查用户和系统表以及索引的分配和结构完整性的数据库。 通过运行 DBCC CHECKDB Transact-SQL 语句,该任务确保数据库中的任何完整性问题均能得到报告,以便系统管理员或数据库所有者在以后加以解决。 有关详细信息,请参阅 DBCC CHECKDB (Transact-SQL)。完成操作后,单击“下一步”**。

    此页还提供以下选项:

    • “数据库” 列表
      指定受此任务影响的数据库。

      • 所有数据库

        生成的维护计划将对除 tempdb 之外的所有 Microsoft SQL Server 数据库运行此任务。

      • 系统数据库

        生成的维护计划将对除 tempdb 和用户创建的数据库之外的 SQL Server 系统数据库运行此任务。

      • 所有用户数据库(master、model、msdb、tempdb 除外)

        生成的维护计划将对用户创建的所有数据库运行此任务。 但不会对 SQL Server 系统数据库运行任何维护任务。

      • 以下数据库

        生成的维护计划只对所选数据库运行此任务。 如果选择此选项,则必须至少在列表中选择一个数据库。

    • “包含索引” 复选框
      检查所有索引页以及表数据页的完整性。

    用于“返回首页”链接的箭头图标[Top]

定义数据库收缩任务

  • 在**“定义收缩数据库任务”页上,使用 DBCC SHRINKDATABASE 语句以及 NOTRUNCATE 或 TRUNCATEONLY 选项,可以创建一个任务,以尝试减小所选数据库的大小。 有关详细信息,请参阅 DBCC SHRINKDATABASE (Transact-SQL)。 完成后,单击“下一步”**。

    注意事项注意

    被移动用来收缩文件的数据可以分布到文件的任何可用位置。 这将导致索引碎片并使搜索索引范围的查询变慢。 若要消除碎片,请考虑在收缩后重新生成文件的索引。

    此页还提供以下选项:

    • “数据库” 列表
      指定受此任务影响的数据库。 有关此列表上可用选项的详细信息,请参阅上述步骤 9。

    • “当数据库大小超过指定值时收缩数据库”
      指定引发此任务的数据库大小 (MB)。

    • “收缩后保留的可用空间”
      当数据库文件中的可用空间达到此值时停止收缩(以百分比表示)。

    • 将释放的空间保留在数据库文件中
      将数据库精简为连续页,但不释放这些页,因此数据库文件不会收缩。 如果希望数据库再次扩大,但不希望重新分配空间,则使用此选项。 使用此选项时,数据库文件不会尽可能地收缩。 这将使用 NOTRUNCATE 选项。

    • 将释放的空间归还给操作系统
      将数据库精简为连续页,并将这些页释放回操作系统,以供其他程序使用。 此数据库文件将尽可能地收缩。 这将使用 TRUNCATEONLY 选项。 这是默认选项。

    用于“返回首页”链接的箭头图标[Top]

定义索引任务

  1. 在**“定义重新组织索引任务”页上,选择用来移动索引页以提高搜索顺序效率的服务器。 此任务使用 ALTER INDEX … REORGANIZE 语句。 有关详细信息,请参阅 ALTER INDEX (Transact-SQL)。 完成后,单击“下一步”**。

    此页还提供以下选项:

    • “数据库” 列表
      指定受此任务影响的数据库。 有关此列表上可用选项的详细信息,请参阅上述步骤 9。

    • “对象” 列表
      将**“选择”列表限制为显示表、显示视图或同时显示两者。 仅当从上面的“数据库”**列表中选中单个数据库时,该列表才可用。

    • “选择” 列表
      指定受此任务影响的表或索引。 在“对象”框中选择**“表和视图”**时不可用。

    • “压缩大型对象” 复选框
      在可能的情况下,释放表和视图的空间。 此选项使用 ALTER INDEX … LOB_COMPACTION = ON。

  2. 在**“定义重新生成索引任务”页上,选择您将重新创建多个索引的数据库。 此任务使用 ALTER INDEX … REBUILD PARTITION 语句。 有关详细信息,请参阅ALTER INDEX (Transact-SQL)。完成后,单击“下一步”**。

    此页还提供以下选项:

    • “数据库” 列表
      指定受此任务影响的数据库。 有关此列表上可用选项的详细信息,请参阅上述步骤 9。

    • “对象” 列表
      将**“选择”列表限制为显示表、显示视图或同时显示两者。 仅当从上面的“数据库”**列表中选中单个数据库时,该列表才可用。

    • “选择” 列表
      指定受此任务影响的表或索引。 在“对象”框中选择**“表和视图”**时不可用。

    • “可用空间选项” 区域
      提供了用于将填充因子应用到索引和表的选项。

    • 每页的默认可用空间
      使用默认可用空间重新组织页。 这将删除数据库中表上的索引,并使用在创建索引时指定的填充因子重新创建索引。 这是默认选项。

    • “将每页可用空间更改为”
      删除数据库中表上的索引,并使用新的、自动计算的填充因子重新创建索引,从而在索引页上保留指定的可用空间。 百分比越高,索引页上保留的可用空间就越多,并且索引增长也就越大。 有效值为 0 到 100。 使用 FILLFACTOR 选项。

    • “高级选项” 区域
      提供用于排序索引和重建索引的其他选项。

    • “对 tempdb 中的结果进行排序” 复选框
      使用 SORT_IN_TEMPDB 选项,该选项确定在索引创建过程中生成的中间排序结果的临时存储位置。 如果不需要执行排序操作,或者可以在内存中执行排序,则忽略 SORT_IN_TEMPDB 选项。

    • “重建索引时保持索引联机” 复选框
      使用 ONLINE 选项,用户可以在索引操作期间访问基础表或聚集索引数据以及任何关联的非聚集索引。 选择此选项将激活用于重新生成不允许联机重新生成的索引的其他选项:“不重新生成索引”“脱机重新生成索引”

      注意注意

      在 SQL Server 2012 的各版本中均不提供联机索引操作。 有关详细信息,请参阅 SQL Server 2012 各个版本支持的功能

    用于“返回首页”链接的箭头图标[Top]

定义“更新统计信息”任务

  • 在**“定义更新统计信息任务”页上,定义将对其进行更新表和索引统计信息的数据库。 此任务使用 UPDATE STATISTICS 语句。 有关详细信息,请参阅 UPDATE STATISTICS (Transact-SQL)。完成操作后,单击“下一步”**。

    此页还提供以下选项:

    • “数据库” 列表
      指定受此任务影响的数据库。 有关此列表上可用选项的详细信息,请参阅上述步骤 9。

    • “对象” 列表
      将**“选择”列表限制为显示表、显示视图或同时显示两者。 仅当从上面的“数据库”**列表中选中单个数据库时,该列表才可用。

    • “选择” 列表
      指定受此任务影响的表或索引。 在“对象”框中选择**“表和视图”**时不可用。

    • 所有现有统计信息
      同时更新列和索引的统计信息。

    • 仅限列统计信息
      仅更新列统计信息。 使用 WITH COLUMNS 选项。

    • 仅限索引统计信息
      仅更新索引统计信息。 使用 WITH INDEX 选项。

    • 扫描类型
      用于收集已更新统计信息的扫描的类型。

    • 完全扫描
      读取表或视图中的所有行来收集统计信息。

    • 抽样依据
      指定在收集较大型的表或视图的统计信息时要抽样的表或索引视图的百分比或者行数。

    用于“返回首页”链接的箭头图标[Top]

定义“清除历史记录”任务

  • 在**“定义清除历史记录任务”页上,选择您要删除旧的任务历史记录的数据库。 该任务使用 EXEC sp_purge_jobhistory、EXEC sp_maintplan_delete_log 和 EXEC sp_delete_backuphistory 语句从 msdb 表中删除历史记录信息。 完成后,单击“下一步”**。

    此页还提供以下选项:

    • 选择要删除的历史数据
      选中要删除的任务数据的类型

    • 备份和还原历史记录
      当您希望还原数据库时,保留有关最近备份创建时间的记录可帮助 SQL Server 创建恢复计划。 保持期应当至少为完整数据库备份的频率。

    • SQL Server 代理作业历史记录
      使用此历史记录有助于排除失败作业的故障,或者确定数据库操作发生的原因。

    • 维护计划历史记录
      使用此历史记录有助于排除失败的维护计划作业的故障,或者确定数据库操作发生的原因。

    • 删除历史数据,如果其保留时间超过
      指定要删除项的保留时间。 您可以指定**“小时”“天”“周”(默认值)、“月”“年”**

    用于“返回首页”链接的箭头图标[Top]

定义“执行代理作业”任务

  • 在**“定义执行代理业务任务”页的“可用的 SQL Server 代理作业”下面,选中要运行的作业。 如果没有 SQL 代理作业,此选项将不可用。 此任务使用 EXEC sp_start_job 语句。 有关详细信息,请参阅 sp_start_job (Transact-SQL)。完成操作后,单击“下一步”**。

    用于“返回首页”链接的箭头图标[Top]

定义“备份”任务。

  1. 在**“定义备份数据库(完整)任务”页上,选择要对其运行完整备份的数据库。 此任务使用 BACKUP DATABASE 语句。 有关详细信息,请参阅 BACKUP (Transact-SQL)。 完成后,单击“下一步”**。

    此页还提供以下选项:

    • “备份类型” 列表
      显示要执行的备份类型。 这是只读的。

    • “数据库” 列表
      指定受此任务影响的数据库。 有关此列表上可用选项的详细信息,请参阅上述步骤 9。

    • 备份组件
      选择**“数据库”将备份整个数据库。 选择“文件和文件组”将只备份部分数据库。 如果选择此选项,请提供文件或文件组名称。 如果在“数据库”框中选择了多个数据库,只能对“备份组件”指定“数据库”。 若要执行文件或文件组备份,请为每个数据库创建一个任务。 仅当选中上述“数据库”**列表中的单个数据库时,这些选项才可用。

    • “备份集过期时间” 复选框
      指定允许覆盖该备份的备份集的日期。 选择**“晚于”,然后输入过期前的天数,或选择“在”**,然后输入过期日期。

    • 备份到
      指定要将数据库备份到的介质。 选择**“磁盘”“磁带”**。 只有连接到该数据库所在计算机的磁带设备才可用。

    • 跨一个或多个文件备份数据库
      单击**“添加”可以打开“选择备份目标”**对话框。

      单击**“删除”**将文件从该框中删除。

      单击**“内容”**将读取文件头,并显示此文件的当前备份内容。

    • “选择备份目标” 对话框
      选择拥有备份目标的文件、磁带机或备份设备。

    • “如果备份文件存在” 列表
      指定如何处理现有备份。 选择**“追加”将新备份添加到文件或磁带中的所有现有备份之后。 选择“覆盖”**将删除文件或磁带中的旧内容,并将其替换为新备份。

    • 为每个数据库创建备份文件
      在文件夹框中指定的位置创建一个备份文件。 为选定的每个数据库创建一个文件。

    • “为每个数据库创建子目录” 复选框
      在指定磁盘目录下创建一个子目录,指定的磁盘目录包含维护计划中要备份的每一个数据库的数据库备份。

      重要说明重要提示

      子目录将从父目录继承权限。 请限制相关权限,以避免未经授权的访问。

    • “文件夹”
      指定用来放置自动创建的数据库文件的文件夹。

    • “备份文件扩展名”
      指定备份文件要使用的扩展名。 默认为 .bak。

    • “验证备份完整性” 复选框
      验证备份集是否完整以及所有卷是否都可读。

    • “设置备份压缩” 列表
      在 SQL Server 2008 Enterprise(或更高版本)中,选择以下备份压缩值之一:

      使用默认服务器设置

      单击此选项可使用服务器级别默认值。 此默认值由 backup compression default 服务器配置选项设置。 有关如何查看此选项的当前设置的信息,请参阅查看或配置 backup compression default 服务器配置选项

      压缩备份

      单击此选项可压缩备份,而不考虑服务器级别默认值。

      重要说明重要提示

      默认情况下,压缩显著增加 CPU 使用率,并且压缩进程占用的额外 CPU 可能会对并发操作造成不利影响。 因此,您可能需要在会话中创建低优先级的压缩备份,其 CPU 使用率受资源调控器限制。 有关详细信息,请参阅使用资源调控器限制备份压缩的 CPU 使用量 (Transact-SQL)

      不压缩备份

      单击此选项可创建未压缩的备份,而不考虑服务器级别默认值。

  2. 在**“定义备份数据库(差异)任务”页上,选择要对其运行部分备份的数据库。 有关此页上可用选项的详细信息,请参阅上述步骤 16 中列出的定义。 此任务使用 BACKUP DATABASE … WITH DIFFERENTIAL 语句。 有关详细信息,请参阅 BACKUP (Transact-SQL)。 完成后,单击“下一步”**。

  3. 在**“定义备份数据库(事务日志)任务”页上,选择要对事务日志运行备份的数据库。 有关此页上可用选项的详细信息,请参阅上述步骤 16 中列出的定义。 此任务使用 BACKUP LOG 语句。 有关详细信息,请参阅 BACKUP (Transact-SQL)。 完成后,单击“下一步”**。

    用于“返回首页”链接的箭头图标[Top]

定义“清除维护”任务

  • 在**“定义清除维护任务”页上,指定要作为维护计划的一部分删除的文件类型,包括由维护计划文件和数据库备份文件创建的文本报告。 此任务使用 EXEC xp_delete_file 语句。 完成后,单击“下一步”**。

    重要说明重要提示

    此任务不会自动删除指定目录的子文件夹中的文件。 此预防措施减少了使用清除维护任务删除文件的恶意攻击的可能性。 如果要删除一级子文件夹中的文件,必须选择“包括一级子文件夹”

    此页还提供以下选项:

    • 删除以下类型的文件
      指定要删除的文件类型。

    • 备份文件
      删除数据库备份文件。

    • 维护计划文本报告
      删除以前运行的维护计划的文本报告。

    • 文件位置
      指定要删除的文件的路径。

    • 删除特定文件
      删除在**“文件名”**文本框中提供的特定文件。

    • 搜索文件夹并根据扩展名删除文件
      删除指定文件夹中带有指定扩展名的所有文件。 使用此选项可一次删除多个文件,例如 Tuesday 文件夹中带有 .bak 扩展名的所有备份文件。

    • “文件夹”
      要删除的文件所在的文件夹的路径和名称。

    • “文件扩展名”
      提供要删除的文件的文件扩展名。

    • “包含一级子文件夹” 复选框
      从**“文件夹”中指定的文件夹下的一级子文件夹中删除具有为“文件扩展名”**指定的扩展名的文件。

    • “在任务运行时根据文件保留时间删除文件” 复选框
      通过在**“删除文件,如果其保留时间超过”**框中提供数字和时间单位,指定将要删除的文件所要保留的最短时间。

    • 删除文件,如果其保留时间超过
      通过提供数字和时间单位(小时),指定将要删除的文件所要保留的最短时间。 保留时间长于指定时间长度的文件将被删除。

    用于“返回首页”链接的箭头图标[Top]

选择报告选项

  • 在**“选择报告选项”页中,选择对维护计划操作报表进行保存或分发的选项。 此任务使用 EXEC sp_notify_operator 语句。 有关详细信息,请参阅 sp_notify_operator (Transact-SQL)。完成操作后,单击“下一步”**。

    此页还提供以下选项:

    • “将报告写入文本文件” 复选框
      将报告保存到一个文件中。

    • “文件夹位置”
      指定将要包含报告的文件的位置。

    • “以电子邮件形式发送报告” 复选框
      任务失败时发送电子邮件。 您必须启用数据库邮件,正确配置 MSDB 作为邮件主机数据库,并且还要有一个拥有有效电子邮件地址的 Microsoft SQL Server 代理操作员,才可使用此任务。

    • 代理操作员
      指定电子邮件的收件人。

    • 邮件配置文件
      指定定义电子邮件发件人的配置文件。

    用于“返回首页”链接的箭头图标[Top]

完成该向导

  1. 在**“完成该向导”页上,验证在先前页上所做的选择,然后单击“完成”**。

  2. 在**“维护向导进度”**页上,监视有关维护计划向导的状态信息。 根据在向导中选择的选项,“进度”页可能会包含一个操作或多个操作。 最上面的方框显示向导的总体状态和向导已接收到的状态、错误和警告消息数。

    **“维护向导进度”**页上提供以下选项:

    • 详细信息
      提供向导执行的操作所返回的操作、状态和所有消息。

    • 操作
      指定每个操作的类型和名称。

    • 状态
      指示向导操作作为一个整体返回的值是**“成功”还是“失败”**。

    • 消息
      提供从该进程中返回的任何错误或警告消息。

    • 报告
      创建包含创建分区向导结果的报告。 这些选项是**“查看报告”“将报告保存到文件”“将报告复制到剪贴板”“将报告作为电子邮件发送”**。

    • 查看报告
      打开**“查看报告”**对话框,其中包含关于创建分区向导进度的文本报告。

    • 将报告保存到文件
      打开**“将报告另存为”**对话框。

    • 将报告复制到剪贴板
      将向导的进度报告结果复制到剪贴板。

    • 将报告作为电子邮件发送
      将向导的进度报告结果复制到电子邮件。

用于“返回首页”链接的箭头图标[Top]