关闭 x
IT技术网
    技 采 号
    ITJS.cn - 技术改变世界
    • 实用工具
    • 菜鸟教程
    IT采购网 中国存储网 科技号 CIO智库

    IT技术网

    IT采购网
    • 首页
    • 行业资讯
    • 系统运维
      • 操作系统
        • Windows
        • Linux
        • Mac OS
      • 数据库
        • MySQL
        • Oracle
        • SQL Server
      • 网站建设
    • 人工智能
    • 半导体芯片
    • 笔记本电脑
    • 智能手机
    • 智能汽车
    • 编程语言
    IT技术网 - ITJS.CN
    首页 » SQL Server »SQL Server 2005中的SSIS维护计划简析(1)

    SQL Server 2005中的SSIS维护计划简析(1)

    2015-11-26 00:00:00 出处:ITJS
    分享

    SQL Server的每一个版本都已经逐渐变得越来越自我调整和自我维护了。然而,对于基本维护的需求,例如删除索引碎片,更新统计数据,检查数据库一致性,以及进行备份仍然是不会消失的。你可以想象一下,索引的维护就像是给你的汽车换油,备份就像是买保险。你可以没有保险,但是一旦你需要它,它就在手边。同样的,你的汽车可以在没有换油的情况下跑上几千公里,但是经常维护会产生更好的性能,并且可以让你的汽车寿命延续几年。

    SQL Server 2005把维护计划以SSIS包的方式予以实现,它为任务的定制提供更大的灵活性。现在开始计划你要执行的Transact-SQL命令,以便察看,而不要用没有文档记载的SQL Server 2000中的存储过程。另一个你可以检查的领域是执行历史,它可以使解决问题的维护计划在很大程度上简单化。

    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: ServerNameUserName. sqlmaint.exe failed. [SQLSTATE 42000] (Error 22029). The step failed.

    幸运的是,你可以浏览到数据库维护计划的文件目录中,右击计划,并且选择“维护计划历史”来获得更加详细的错误信息。然而,即使是这样的解决问题的方法在碰到维护计划任务不总是可靠的时候,也会出错。

    在nutshell SQL Server2000 维护计划向导中,创建重要维护任务非常简单,但是从可用性和支持的角度来说,就差得远了。

    与维护计划的其他图形一样,在SQL Server2005中也有很大的改善。现在,维护计划是以SQL Server集成服务(SSIS)包的形式实现的;这就允许在包含在维护计划中的任务之间创建优先约束。假如你还没有使用SSIS的话,这个消息也许会对你造成威胁——但是不要担心,你仍然可以通过使用SQL Server管理套件(SSMS)中的向导来建立一个维护计划。在SSIS中构建维护计划,将会提供额外的灵活性,但是向导会帮助你开始,并且让你构建一个可靠的维护计划,而不需要你对SSIS有任何的了解,正如你下面将要看到的。

    使用向导创建一个维护计划

    要通过使用向导来创建一个维护计划,首先浏览到SSMS的管理目录,右击“维护计划”文件夹,然后选择维护计划向导。注意,SQL Server Agent服务必须要运行起来,在你创建数据库维护计划的时候。最开始的向导界面允许你选择目标数据库,并且指定连接到服务器上必需的安全信任书。接下来,你就可以选择你想要执行的维护任务,如下图所示:

    屏幕截图1: 选择维护任务

    这个屏幕给你一个有关你想要完成的每一种类型的维护任务的大概描述。

    接下来,你可以定义维护计划任务的执行顺序。例如,你可以在查看数据库一致性并且运行一个完全的数据库备份之前重新构建索引。然后,你就可以指定每个任务可能会影响到的目标数据库和对象。例如,重新构建索引可能会影响到单个的数据库,多个数据库,或者某个环境下的所有数据库。此外,你还能选择在哪个特定的表和索引视图上面重新构建索引。你还可以为重新构建索引制定一些高级选项,例如,你想要留给索引页面使用的空闲空间总量,无论你是否想要填充索引,还是你想要在重新构建它们的时候,还让它们在线。指定索引选项的屏幕如下所示:

    屏幕截图2: 指定索引选项

    接下来,为你想要执行的维护计划定义时间表。或者你还可以根据需要来运行维护计划。接下来的向导界面允许你指定记录维护计划执行过程中状态日至的文本文件。你可以指定电子邮件地址,以便将维护计划执行状态发送给你。最后一个屏幕提供了你在过去不久的文章里几个界面上选择的主要的维护计划选项。就是它了!正如我先前说过的,你不需要了解SSIS就可以创建一个数据库维护计划。

    在你的SSIS包后面的内容

    现在,让我们看看实际上在构建过程中发生了什么。要查看你刚刚创建的SSIS包,右击维护计划,然后选择“修改”。你就可以看到类似下面的画面:

    屏幕截图3:查看SSIS 包

    注意,蓝色箭头指出了执行的流程;蓝色的表示数据库一致性将会在“重新构建索引”任务完成之后进行检查。这个向导指挥让你评估是否每个任务都在执行下个任务之前完成了;所以,无论“重新构建索引”的任务成功了或者是失败了,维护计划都会继续执行下一步的检查数据库一致性任务。但是假如你想要按照某种条件来执行不同的任务,就是前面的任务是失败还是成功了 假如你双击蓝色箭头,SSIS就会允许你编辑优先约束,如下图所示:

    屏幕截图4: 编辑优先约束.

    从这个界面,你可以评估每个任务的执行结果,并且基于成功、失败,或者前面某个任务的完成来调用剩下的任务。你可以在执行其他任务之前,检查一个连接当前任务的表达式。这就是SSIS之所以特别好用的原因之一。

    SQL Server 2005的改善

    非常希望你能喜欢维护计划向导所作的改善,还有你可以通过点击向导屏幕来创建的SSIS包。但是这只是改善中很小的一部分!

    SQL Server 2005可以让你查看通过维护向导的每个步骤创建的Transact-SQL命令。SQLMAINT工具(与xp_sqlmaint扩展存储过程一起),都被宣布不再被支持。在维护计划的头巾之下,仍然是作为任务来实现,但是不再调用xp_sqlmaint,任务执行的是SSIS包而已。每项任务都可以通过传递参数值和配置文件来进行定制,除了执行和登录选项之外,如下图所示:

    屏幕截图5:定制任务

    在该文中,我没有地方再来解释维护任务属性上面的每个标签了。你可以通过阅读SQL Server在线文档来学习更多。但是你可以了解,SSIS可以为定制维护计划任务提供更大的灵活性。

    SQL Server 2005还允许你检查维护计划执行的历史,通过右击维护计划并选择“察看历史”来实现。在结果对话框内,你可以看到维护计划每个步骤的历史信息:

    屏幕截图6: 查看维护计划的历史

    在屏幕的底部,点击“察看T-SQL”,会显示给你任务实际上执行的Transact-SQL命令(或者一系列命令),如下图所示:

    屏幕截图7: 查看 T-SQL 命令

    小结

    该文展示了中数据库维护计划的一些受欢迎的改善。在以前的软件版本中,维护计划运行得也相当的好,但是有一点点含糊和难以解决问题。新版本以SSIS包的方式实现了维护计划,为定义维护计划任务、登录和配置选项的执行顺序提高了极大的灵活性。此外,维护计划任务不再需要通过若干个开关来调用一个神秘的扩展存储过程。相反,他们可以执行那些你可以查看的Transact-SQL命令,你会发现这样很舒服。最后但是绝对不是最不重要的,维护计划对于解决问题来说相当简单了,因为经过改善的用户界面可以让你查看它们的执行历史。

    SQL Server的每一个版本都已经逐渐变得越来越自我调整和自我维护了。然而,对于基本维护的需求,例如删除索引碎片,更新统计数据,检查数据库一致性,以及进行备份仍然是不会消失的。你可以想象一下,索引的维护就像是给你的汽车换油,备份就像是买保险。你可以没有保险,但是一旦你需要它,它就在手边。同样的,你的汽车可以在没有换油的情况下跑上几千公里,但是经常维护会产生更好的性能,并且可以让你的汽车寿命延续几年。

    SQL Server 2005把维护计划以SSIS包的方式予以实现,它为任务的定制提供更大的灵活性。现在开始计划你要执行的Transact-SQL命令,以便察看,而不要用没有文档记载的SQL Server 2000中的存储过程。另一个你可以检查的领域是执行历史,它可以使解决问题的维护计划在很大程度上简单化。

    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: ServerNameUserName. sqlmaint.exe failed. [SQLSTATE 42000] (Error 22029). The step failed.

    幸运的是,你可以浏览到数据库维护计划的文件目录中,右击计划,并且选择“维护计划历史”来获得更加详细的错误信息。然而,即使是这样的解决问题的方法在碰到维护计划任务不总是可靠的时候,也会出错。

    在nutshell SQL Server2000 维护计划向导中,创建重要维护任务非常简单,但是从可用性和支持的角度来说,就差得远了。

    与维护计划的其他图形一样,在SQL Server2005中也有很大的改善。现在,维护计划是以SQL Server集成服务(SSIS)包的形式实现的;这就允许在包含在维护计划中的任务之间创建优先约束。假如你还没有使用SSIS的话,这个消息也许会对你造成威胁——但是不要担心,你仍然可以通过使用SQL Server管理套件(SSMS)中的向导来建立一个维护计划。在SSIS中构建维护计划,将会提供额外的灵活性,但是向导会帮助你开始,并且让你构建一个可靠的维护计划,而不需要你对SSIS有任何的了解,正如你下面将要看到的。

    使用向导创建一个维护计划

    要通过使用向导来创建一个维护计划,首先浏览到SSMS的管理目录,右击“维护计划”文件夹,然后选择维护计划向导。注意,SQL Server Agent服务必须要运行起来,在你创建数据库维护计划的时候。最开始的向导界面允许你选择目标数据库,并且指定连接到服务器上必需的安全信任书。接下来,你就可以选择你想要执行的维护任务,如下图所示:

    屏幕截图1: 选择维护任务

    这个屏幕给你一个有关你想要完成的每一种类型的维护任务的大概描述。

    接下来,你可以定义维护计划任务的执行顺序。例如,你可以在查看数据库一致性并且运行一个完全的数据库备份之前重新构建索引。然后,你就可以指定每个任务可能会影响到的目标数据库和对象。例如,重新构建索引可能会影响到单个的数据库,多个数据库,或者某个环境下的所有数据库。此外,你还能选择在哪个特定的表和索引视图上面重新构建索引。你还可以为重新构建索引制定一些高级选项,例如,你想要留给索引页面使用的空闲空间总量,无论你是否想要填充索引,还是你想要在重新构建它们的时候,还让它们在线。指定索引选项的屏幕如下所示:

    屏幕截图2: 指定索引选项

    接下来,为你想要执行的维护计划定义时间表。或者你还可以根据需要来运行维护计划。接下来的向导界面允许你指定记录维护计划执行过程中状态日至的文本文件。你可以指定电子邮件地址,以便将维护计划执行状态发送给你。最后一个屏幕提供了你在过去不久的文章里几个界面上选择的主要的维护计划选项。就是它了!正如我先前说过的,你不需要了解SSIS就可以创建一个数据库维护计划。

    在你的SSIS包后面的内容

    现在,让我们看看实际上在构建过程中发生了什么。要查看你刚刚创建的SSIS包,右击维护计划,然后选择“修改”。你就可以看到类似下面的画面:

    屏幕截图3:查看SSIS 包

    注意,蓝色箭头指出了执行的流程;蓝色的表示数据库一致性将会在“重新构建索引”任务完成之后进行检查。这个向导指挥让你评估是否每个任务都在执行下个任务之前完成了;所以,无论“重新构建索引”的任务成功了或者是失败了,维护计划都会继续执行下一步的检查数据库一致性任务。但是假如你想要按照某种条件来执行不同的任务,就是前面的任务是失败还是成功了 假如你双击蓝色箭头,SSIS就会允许你编辑优先约束,如下图所示:

    屏幕截图4: 编辑优先约束.

    从这个界面,你可以评估每个任务的执行结果,并且基于成功、失败,或者前面某个任务的完成来调用剩下的任务。你可以在执行其他任务之前,检查一个连接当前任务的表达式。这就是SSIS之所以特别好用的原因之一。

    SQL Server 2005的改善

    非常希望你能喜欢维护计划向导所作的改善,还有你可以通过点击向导屏幕来创建的SSIS包。但是这只是改善中很小的一部分!

    SQL Server 2005可以让你查看通过维护向导的每个步骤创建的Transact-SQL命令。SQLMAINT工具(与xp_sqlmaint扩展存储过程一起),都被宣布不再被支持。在维护计划的头巾之下,仍然是作为任务来实现,但是不再调用xp_sqlmaint,任务执行的是SSIS包而已。每项任务都可以通过传递参数值和配置文件来进行定制,除了执行和登录选项之外,如下图所示:

    屏幕截图5:定制任务

    在该文中,我没有地方再来解释维护任务属性上面的每个标签了。你可以通过阅读SQL Server在线文档来学习更多。但是你可以了解,SSIS可以为定制维护计划任务提供更大的灵活性。

    SQL Server 2005还允许你检查维护计划执行的历史,通过右击维护计划并选择“察看历史”来实现。在结果对话框内,你可以看到维护计划每个步骤的历史信息:

    屏幕截图6: 查看维护计划的历史

    在屏幕的底部,点击“察看T-SQL”,会显示给你任务实际上执行的Transact-SQL命令(或者一系列命令),如下图所示:

    屏幕截图7: 查看 T-SQL 命令

    小结

    该文展示了中数据库维护计划的一些受欢迎的改善。在以前的软件版本中,维护计划运行得也相当的好,但是有一点点含糊和难以解决问题。新版本以SSIS包的方式实现了维护计划,为定义维护计划任务、登录和配置选项的执行顺序提高了极大的灵活性。此外,维护计划任务不再需要通过若干个开关来调用一个神秘的扩展存储过程。相反,他们可以执行那些你可以查看的Transact-SQL命令,你会发现这样很舒服。最后但是绝对不是最不重要的,维护计划对于解决问题来说相当简单了,因为经过改善的用户界面可以让你查看它们的执行历史。

    上一篇返回首页 下一篇

    声明: 此文观点不代表本站立场;转载务必保留本文链接;版权疑问请联系我们。

    别人在看

    hiberfil.sys文件可以删除吗?了解该文件并手把手教你删除C盘的hiberfil.sys文件

    Window 10和 Windows 11哪个好?答案是:看你自己的需求

    盗版软件成公司里的“隐形炸弹”?老板们的“法务噩梦” 有救了!

    帝国CMS7.5编辑器上传图片取消宽高的三种方法

    帝国cms如何自动生成缩略图的实现方法

    Windows 12即将到来,将彻底改变人机交互

    帝国CMS 7.5忘记登陆账号密码怎么办?可以phpmyadmin中重置管理员密码

    帝国CMS 7.5 后台编辑器换行,修改回车键br换行为p标签

    Windows 11 版本与 Windows 10比较,新功能一览

    Windows 11激活产品密钥收集及专业版激活方法

    IT头条

    智能手机市场风云:iPhone领跑销量榜,华为缺席引争议

    15:43

    大数据算法和“老师傅”经验叠加 智慧化收储粮食尽显“科技范”

    15:17

    严重缩水!NVIDIA将推中国特供RTX 5090 DD:只剩24GB显存

    00:17

    无线路由大厂 TP-Link突然大裁员:补偿N+3

    02:39

    Meta 千万美金招募AI高级人才

    00:22

    技术热点

    微软已修复windows 7/windows 8.1媒体中心严重漏洞 用户可下载安

    卸载MySQL数据库,用rpm如何实现

    windows 7中使用网上银行或支付宝支付时总是打不开支付页面

    一致性哈希算法原理设计

    MySQL数字类型中的三种常用种类

    如何解决SQL Server中传入select语句in范围参数

      友情链接:
    • IT采购网
    • 科技号
    • 中国存储网
    • 存储网
    • 半导体联盟
    • 医疗软件网
    • 软件中国
    • ITbrand
    • 采购中国
    • CIO智库
    • 考研题库
    • 法务网
    • AI工具网
    • 电子芯片网
    • 安全库
    • 隐私保护
    • 版权申明
    • 联系我们
    IT技术网 版权所有 © 2020-2025,京ICP备14047533号-20,Power by OK设计网

    在上方输入关键词后,回车键 开始搜索。Esc键 取消该搜索窗口。