【TechTarget中国原创】2、SQL Server 2000 DTS Designer Components
如果你想修改你最近迁移的、包括SQL Server 2000 DTS Legacy组件的Integration Services包,那么你就肯定会遇到这些问题。但是请记住:不是所有的 DTS组件都会因映射到SSIS组件。如果升级或卸载SQL Server 2000最后一个实例、你失去 2000 DTS Development Environment,那你会怎么办?你可以通过安装这种特殊的Web下载保留或恢复SQL Server 2000 DTS Designer Components,在你升级或安装SQL Server 2000之前或之后你就可以到微软下载中心进行操作。
3、Active X Script 代码/DTS对象模块
Upgrade Advisor会提醒你一个或者多个包都包含Active X Script代码访问 DTS Object Model。SQL Server 2005 Integration Services(SSIS)Package Migration Wizard 不会迁移访问DTS对象模块的ActiveX Script代码。在迁移之后,我们必须修改SSIS包的结果恢复前面包的行为。
传统DTS包迁移策略
基于升级向导(Upgrade Wizard)生成的报告,我选择用Package Migration Wizard迁移传统DTS包(raditional DTS Package)。即使这个包在2005下迁移并当作SSIS包来运行,最终的结果还是会出现问题。
第一步:调用The Package Migration Wizard
Package Migration Wizard可以从多个地方启用。我选择从Business Intelligence Development Studio调用BIDS。从BIDS中启用这个向导可以让我们将DTS包迁移到SSIS包文件。这个文件可以在BIDS中打开并进行测试、重新创造并最终部署。我用Project Migrate DTS 2000 Package菜单选项启用Migration Wizard。第一个菜单要求我提供我希望DTS包能迁移到的SQL 2000 Instance。以下是 Migration Wizard屏快照:

我们想迁移的哪个Instance包括2000 DTS Package?

最近迁移的SSIS (.dtsx)文件在哪里?

选择具体的DTS包进行迁移
步骤2:重新创建Traditional SSIS Package
即使迁移了DTS包,我们也没有利用SSIS功能,也没有紧跟 SSIS in-line Design Philosophy。既然SSIS支持大部分pre-baked改革,那为什么不努力避免内部调用到存储程序?例如,可以重新设计包来使用Lookup Task而不是调用存储程序作这些。同样, 我们也可以用Slowly Changing Dimension Wizard代替Stored Procedure.。
循环DTS包迁移策略
由于有Active X Script和调用DTS Object Model,我们应该重新设计DTS包。SSIS支持工业编成概念,我们就可以使用集装箱进行循环、动态更改源文件处理最近文件。我们还可以用File System Task从源目录中将处理过的文件迁移到存档目录。到‘looping over files with a ForEach loop’你就可以看到SSIS包的一个很经典的范例。
总结
Upgrade Advisor可以指出你可能遇到的 DTS Packages包的一些重要的迁移问题,还可以帮出你测算出迁移过程中你需要付多少时间和精力。在很多情况下,你可以选择迁移但是你可能还是会遗留下一些2000 DTS组件。也许你可以在新版本上工作,用只适合SSIS的版本代替这些遗留组件以充分利用SSIS的功能。记住DTS Package 仅仅是因为借助了Advisor,你在迁移之后仍然有一些工作要执行,这样你才能充分利用SSIS的功能。认真回顾SSIS功能。这些功能方面的知识对于你重新设计你的DTS包很重要。