迁移 Data Transformation Services 包

Integration Services 提供了多个选项用于保留使用 SQL Server 2000 Data Transformation Services (DTS) 工具和对象模型创建的解决方案。可以将 DTS 包迁移为 Integration Services 格式,使用 DTS 运行库继续运行 DTS 包,或者使用“执行 DTS 2000 包”任务将 DTS 包并入 Integration Services 解决方案中。

注意注意

有关对在早期版本的 Integration Services 中创建的包进行升级的信息,请参阅升级 Integration Services 包

当将 DTS 包迁移为 Integration Services 格式时,所迁移包的结构以及迁移完整性将取决于原始包的内容。迁移包可能会产生以下结果:

  • 有些包可成功地完全迁移,因为这些包所包含的任务和使用的功能都可映射为 Integration Services 任务和功能。

  • 包中含有不能直接迁移到 Integration Services 任务和功能的 DTS 任务和功能,但是通过使用封装的 DTS 包,包的功能将保留下来。

  • 在某些情况下,例如包名称含有无效字符 (/ \ : [ ] . =) 或包中含有未注册的对象时,包迁移向导在这些问题解决前将无法执行迁移。

注意注意

包迁移向导将保持 DTS 包不变。

如果包中的所有任务都可映射到 Integration Services 中的新任务,则所迁移包的结构与 DTS 包的结构非常相似。相反,如果任务不能直接映射到 Integration Services 任务,则迁移过程将更改包结构。每个不可迁移的任务将保留其 DTS 格式,并封装在“执行 DTS 2000”任务中。包中的自定义任务也以这种方式进行迁移。有关详细信息,请参阅 迁移任务

其他包元素(例如,优先约束、连接和变量)迁移为 Integration Services 中的等效元素。有关详细信息,请参阅迁移优先约束迁移连接迁移变量

包的密码将不进行迁移。但是,Integration Services 支持 DTS 包中和“执行 DTS 2000 包”任务中的包密码。Integration Services 包内的“执行 DTS 2000 包”任务可将包密码传递给 DTS 包。有关详细信息,请参阅迁移密码

Integration Services 中的 ActiveX 脚本任务通常无需额外修订即可运行从 DTS 包中的 ActiveX 脚本迁移的脚本代码。但是,不支持对 DTS 包对象的引用。有关详细信息,请参阅迁移脚本

在 DTS 设计器中输入的文本批注、包日志记录以及错误处理设置都不会迁移。

迁移包之后,应当打开所迁移的包检查有无问题,包括有无验证失败。例如,某些包依赖于同一包中先前完成的任务才能创建或准备数据源或数据目标,如果找不到这些对象,则验证可能会失败。通过将任务或其他容器对象的 DelayValidation 属性设置为 true,或将受影响的数据流组件的 ValidateExternalMetadata 属性设置为 false,可以解决此类验证失败问题。

注意注意

将包从 Management Studio 中迁移后,请在对象资源管理中连接到 Integration Services 的本地实例以查看迁移的包。如果将 SQL Server 选定为目标,则迁移的包将显示在 MSDB 节点下。如果选择文件系统文件夹作为目标,请右键单击“文件系统”节点,并选择“导入包”以显示迁移的包。从 BI Development Studio 中迁移了包后,迁移的包将保存到您指定的文件系统文件夹中,并添加到“SSIS 包”节点下已打开的项目中。

DTS 包无法在 BI Development Studio 中直接打开或编辑。

有关 Integration Services 中对 DTS 支持的一般信息,请参阅SQL Server 2008 中对 Data Transformation Services (DTS) 的支持

本节涉及的主题