分享

SQL Server 2005 数据维护实务(3)

 知识藏园 2012-01-07

4.2 手动创建维护计划

  在维护计划(设计选项卡)的帮助下还可以手动创建维护计划。与维护计划向导相比,维护计划设计选项卡利用了工作流设置,装备了更高级的工具和功能,所以它创建的维护计划更加灵活。

  手动创建维护计划的技能随着Service Pack 2的推出而得到了强化。在Service Pack 2中,手动创建维护计划时,维护计划历史可以在远程服务器上进行日志记录。当在一个基础架构内管理多个SQL Servers时,这个功能显得尤为重要,因为您可以把所有数据的日志集中到一台服务器上,方便了集中管理。

  选中Maintenance Plans文件夹,右击鼠标,选择新建维护计划选项,就会出现维护计划设计器的界面。

  在维护计划设计界面的左侧面板上显示了所有维护任务的工具箱。将选中的维护任务拖至中间的计划设计器界面。如果想将多个任务拖到设计器中,可以在两个任务对象之间创建一个工作流进程,以便建立任务之间的链接。工作流进程可以包含优先链接。这样第二个任务的执行依赖于第一个任务中指定的约束条件,例如“成功、失败或完成”举个例子,可以创建这样一个工作流:首先执行数据库的备份任务,然后只要第一个任务完成了,就执行第二个重新生成索引的任务。两个对象之间的优先约束链接功能可以控制工作流在第一个备份任务成功后指示执行第二个重新生成索引任务。如果备份任务失败,那么第二个任务也不能够执行。

  要创建优先约束链接,首先点击高亮设计器中选定的两个维护任务,右击鼠标,选择添加优先约束。链接建立后,双击或右击该链接箭头,选择编辑,启动优先约束编辑器,设置优先约束的各个选项。

  除了创建优先链接外,还可以指定任务同时执行,这就是任务并行,可以指定多项任务在牵制任务成功执行完后同时开始执行。当在不同的SQL Server上执行相同类型的维护任务时,通常会用到这个设置。

  最后需要提到的是报告功能。在维护计划执行完毕之后,可以创建一份关于维护计划活动报告。点击维护计划设计器中的报告和记录图标,弹出的报告和记录对话框,提供了包括生成文本文件报告和发送报告至电子邮件收件人等诸多选项。此外,还提供了额外的日志功能,例如记录扩展信息和在远程服务器上进行日志记录。

  通过可以使用查看T-SQL命令按钮,还可以把您对维护计划的所做设置选项转换为任务实际执行的TSQL语法。这对很多没有太多编程基础的数据库管理员来说是个非常有用的工具。

  4.3 查看维护计划

  所有的维护计划都可以在SSMS的维护计划文件夹下查看,而且能够作为代理作业存储在SQL Server中。此操作需要运行SQL Server代理,在计划间隔期启用作业。如果SQL Server代理停止运行,作业不会启动。另外,为了维护计划的持续,所有的作业都可以编辑和修改。

  在SQL Server管理器中按照以下步骤操作,就可以查看维护计划作业。   选择开始→所有程序→Microsoft SQL Server 2005→SQL Server管理器。   在对象资源管理器中,首先选择连接到数据库引擎,展开目标服务器,再展开Management文件夹→作业文件夹。点击作业文件夹,可以看到由维护计划向导创建的作业列表。在右侧版面的对象资源管理详情选项卡以及对象资源管理器中的作业文件夹下都显示了列表上的作业信息。

  如果SQL Server代理不在运行状态,就会出现一个对话框,提示目标服务器的SQL Server代理没有运行。通过以下步骤可以启动SQL Server代理:

  选择开始→所有程序→Microsoft SQL Server 2005→SQL Server管理器。   在对象资源管理器中,首先选择连接到数据库引擎,再展开目标服务器。   右击SQL Server代理,然后点击开始。 

4.4 创建多服务器维护计划

  在过去,数据库管理员在管理超过一个维护计划时会遇到很多困难,其中在一个多服务器环境下创建维护计划的任务尤其繁重,因为必须要为每一个服务器分别创建一个维护计划。而且,验证成功、失败和作业历史的工作相当费时费力;由于没有一个可以统筹管理这些计划的方法,管理员必须逐个验证。一个典型的全球性企业在它的基础架构里很可能有上百台SQL服务器,可想而知,这些数据库管理员生活在怎样的水深火热之中;因此,数据库管理员过劳却又缺乏运行效率都会随之而来。

  SQL Server 2005 Service Pack 2的推出让这些问题得到了缓解,源于它对多服务器维护计划的支持。也就是说,管理员可以从一个中央主服务器为每一个SQL服务器创建维护计划,显著提高了操作和管理效率。

  要想充分利用这个Service Pack 2提供的新特性来减轻您的负担,在创建多服务器维护计划之前,首先必须在多服务器环境中构建一台主服务器和一台或多台目标服务器。必须指出,目标服务器只能用来查看维护计划。因此,必须在主服务器上创建和管理多服务器维护计划,以便为您的众多服务器提供定期维护。另外,创建和管理多服务器维护计划的管理员必须是每台SQL Server的sysadmin固定服务器角色成员。可以用维护计划向导或手动创建此计划。

  4.5 构建SQL Server维护进度表

  随着每个新版本的发布,SQL Server的自我维护功能也越来越强大。但是,就算自我维护功能再强大,自动维护计划再方便易行,数据库管理员还是要执行一些额外的维护。有些维护操作必须要每天进行,而另外一些则可能只需要隔一年检查一次,维护任务的执行强度很大程度取决于企业自身的环境。

  下面会根据执行强度对维护任务及其相应的程序进行分类描述,适合于大多数具有不同IT基础架构的大中小型企业。执行强度用不同的时间间隔定义,包括每天、每周、每月和每季度,能够帮助企业建立起良好的维护实务,确保SQL Server数据库性能和安全。

  4.5.1 每天的例行维护任务

  需要数据库管理员密切关注的维护任务,最好每天都检查一下,这样可以确保系统的可靠性、可用性、运行性能和安全。每天的例行维护任务包括:

  •   检查是不是所有被请求的SQL Server服务都正常运行。
  •   检查日常备份日志中成功、警告或者失败记录。
  •   检查Windows事件日志有没有错误记录。
  •   检查SQL Server日志有没有安全警告记录,例如非法登录。
  •   执行完全备份或差异备份。
  •   在设置了完全恢复模型或大容量日恢复模型的数据库上执行事务日志备份任务。
  •   核实SQL Server作业没有失败。
  •   检查所有的数据库文件和事务日志具有合适的磁盘空间大小。
  •   至少要监控处理器、内存或者磁盘计数器没有出现瓶颈。

  4.5.2 每周的例行维护任务

  •   关注程度稍逊于每天的例行维护任务,最好每周进行一次例行检查。每周的例行维护任务包括:
  •   执行完全备份或差异备份。
  •   检查以前执行的维护计划报告。
  •   检查数据库完整性。
  •   如果需要,执行收缩数据库任务。
  •   通过重新组织索引任务压缩聚集和非聚集表和视图。
  •   通过重新生成索引任务在数据页和索引页重新组织数据。
  •   更新所有用户表和系统表的统计信息
  •   清除备份、还原、SQL Server代理作业和维护计划等操作的历史数据。
  •   如果需要,手动增长数据库或事务日志文件
  •   清除执行维护计划残留下来的文件。

  4.5.3 每月或每季度的维护任务

  有一些维护计划不需要执行得过于频繁,可以每个月或每个季度执行一次。但是请不要以为这些任务不需要天天执行就无足轻重,这些任务可以确保数据库环境的健康,所以不要轻视以下这些维护任务:

  •   在测试环境中执行备份还原操作。
  •   将历史数据归档。
  •   分析收集的性能统计数据,与基准值相比较。
  •   检查并更新维护文档。
  •   检查并安装最新的SQL Server补丁和补丁包。
  •   如果运行簇、数据库镜像或日志传送,则监测故障转移。
  •   验证备份和还原进程是否遵循已定义的服务等级协议。
  •   更新SQL Server构建指南。
  •   更新SQL Server灾难恢复文档。
  •   更新维护计划列表
  •   修改管理员口令。
  •   修改SQL Server服务帐户口令。

  总结

  维护计划的特性本身就是SQL Server 2005产品的一个主要卖点。能够利用一个简单的配置向导来自动管理SQL Server针对单个或多个数据库的维护任务,大大减轻了数据库管理员手动操作的工作量,确保不会遗漏任何维护任务。同时也提供了手动创建维护任务的选择,采取这种方法可以在高级流程上获得更多的灵活性。

  SQL Server 2005 Service Pack 2还具有扩张维护计划应用的组织能力,Service Pack 2提供的一些新特性包括支持多服务器维护计划、远程日志记录等。

  最后,本文最重要的目的就是要让大家明白,为您的SQL Server尽早制定维护计划,保证维护任务有计划地执行以保护每一个数据库的安全和性能。

  最佳实务

  以下总结了本文所强调的最佳实务要点:

  •   数据库管理员必须充分了解SQL Server环境下所有必许实施的维护计划。
  •   利用维护计划向导自动和有计划地制定日常维护操作。
  •   使用向导创建维护计划时,充分利用SQL Server Service Pack 2所提供的新特性,并为每个子任务制定独立的计划。
  •   脚本化、自动化您的维护任务,并全部记录在案。
  •   维护任务应当在运行非高峰时间段或高峰时间段后几小时进行,例如周末或午夜以后。
  •   当设置维护任务的执行顺序时,应当首先执行备份任务,然后在执行其他会改变数据库的任务。
  •   当创建维护计划时,不要把收缩数据库任务包括在内。如果需要,最好在非高峰时间段手动收缩数据库
  •   M维护任务应当按照不同的时间段分类执行,例如每日、每周、每月。日常维护也是一样的。
  •   对于在大型企业环境运行多台SQL Server的情况下,充分利用子计划和多服务器维护计划。 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多