SQL Server 2005中的SSIS维护计划

发表于:2008-05-07来源:作者:点击数: 标签:sqlSQLSql维护SSIS
SQL Server的每一个版本都已经逐渐变得越来越自我调整和自我维护了。然而,对于基本维护的 需求 ,例如删除索引碎片,更新统计数据,检查 数据库 一致性,以及进行备份仍然是不会消失的。你可以想象一下,索引的维护就像是给你的汽车换油,备份就像是买保险。
 SQL Server的每一个版本都已经逐渐变得越来越自我调整和自我维护了。然而,对于基本维护的需求,例如删除索引碎片,更新统计数据,检查数据库一致性,以及进行备份仍然是不会消失的。你可以想象一下,索引的维护就像是给你的汽车换油,备份就像是买保险。你可以没有保险,但是一旦你需要它,它就在手边。同样的,你的汽车可以在没有换油的情况下跑上几千公里,但是经常维护会产生更好的性能,并且可以让你的汽车寿命延续几年。
SQL Server 2005把维护计划以SSIS包的方式予以实现,它为任务的定制提供更大的灵活性。现在开始计划你要执行的Transact-SQL命令,以便察看,而不要用没有文档记载的SQL Server 2000中的存储过程。另一个你可以检查的领域是执行历史,它可以使解决问题的维护计划在很大程度上简单化。
  目录表
  SQL Server 2000中的维护计划
  使用向导创建一个维护计划
  在你的SSIS包的后面
  改善SQL Server 2005
  SQL Server 2000中的维护计划
  让我们简单地回顾一下SQL Server 2000中的数据库维护计划是什么样子。你通过点击一些向导的界面创建一个维护计划,它让你选择完全备份、事务日至备份,索引维护和检查数据库一致性的选项。这听起来很简单,是吗?是的,除非维护计划是个“黑   盒子”向导并没有显示给你刚才创建的任务会执行的Transact-SQL语句。
  更进一步地讲,如果你曾经检查过通过维护计划向导创建的任务的属性,你就会知道任务的步骤看起来是下面这个样子:
EXECUTE master.dbo.xp_sqlmaint N'-PlanID 7BCCF8E2-B8F4-4B92-BC3B- F2FA1BAE25C0 -WriteHistory -VrfyBackup -BkUpMedia DISK -BkUpDB -UseDefDir -BkExt "BAK"'
  为了了解这个维护计划屏幕之后的事情,你必须让你自己熟悉xp_sqlmaint扩展存储程序。这个程序也叫做 SQLMAINT工具,大概有一打的开关。此外,你还可以从命令行调用SQLMAINT。如果维护计划任务在任务历史中曾经失败过,在任务历史中显示了如下完全没有意义的信息片断的话,也许这样更重要:
Executed as user: ServerName\UserName. sqlmaint.exe failed. [SQLSTATE 42000] (Error 22029). The step failed.

  幸运的是,你可以浏览到数据库维护计划的文件目录中,右击计划,并且选择“维护计划历史”来获得更加详细的错误信息。然而,即使是这样的解决问题的方法在碰到维护计划任务不总是可靠的时候,也会出错。
在nutshell SQL Server2000 维护计划向导中,创建重要维护任务非常简单,但是从可用性和支持的角度来说,就差得远了。
与维护计划的其他图形一样,在SQL Server2005中也有很大的改善。现在,维护计划是以SQL Server集成服务(SSIS)包的形式实现的;这就允许在包含在维护计划中的任务之间创建优先约束。如果你还没有使用SSIS的话,这个消息也许会对你造成威胁——但是不要担心,你仍然可以通过使用SQL Server管理套件(SSMS)中的向导来建立一个维护计划。在SSIS中构建维护计划,将会提供额外的灵活性,但是向导会帮助你开始,并且让你构建一个可靠的维护计划,而不需要你对SSIS有任何的了解,正如你下面将要看到的。
  使用向导创建一个维护计划

原文转自:http://www.ltesting.net