升级 Integration Services 包

在将 SQL Server 2005 或 SQL Server 2008 实例升级到 SQL Server 的当前版本时,现有的 SQL Server 2008 Integration Services (SSIS) 包不会自动升级到当前版本的 SQL Server Integration Services 所使用的包格式。 您必须选择一种升级方法并手动升级包。

在升级 SQL Server 2005 包时,Integration Services 会将任何脚本任务和脚本组件中的脚本迁移到 Microsoft Visual Studio Tools for Applications (VSTA)。 在 SQL Server 2005 中,脚本任务或脚本组件中的脚本使用的是 Microsoft Visual Studio for Applications (VSA)。 有关在迁移之前可能需要进行的脚本更改以及脚本转换失败的详细信息,请参阅将脚本迁移到 VSTA

有关在将项目转换为项目部署模型时升级包的信息,请参阅将项目部署到 Integration Services 服务器

SQL Server 2000 Data Transformation Services 包

在 SQL Server Integration Services 的当前版本中,已不支持迁移或运行 Data Transformation Services (DTS) 包。 不再提供以下 DTS 功能:

  • DTS 运行时

  • DTS API

  • 用于将 DTS 包迁移到下一版本的 Integration Services 的包迁移向导

  • SQL Server Management Studio 中对 DTS 包维护的支持

  • 执行 DTS 2000 包任务

  • 升级 DTS 包的顾问扫描。

以下选项可用于迁移 DTS 包。

  • 将这些包迁移到 SQL Server 2005 Integration Services (SSIS) 或 SQL Server 2008 Integration Services (SSIS),然后将这些包升级到 SQL Server 2012 Integration Services (SSIS)。

    有关将 DTS 包迁移到 SQL Server 2005 Integration Services (SSIS) 和 SQL Server 2008 Integration Services (SSIS) 的信息,请参阅迁移 Data Transformation Services 包 (2005) 和迁移 Data Transformation Services 包 (2008)。

  • 通过使用 SQL Server 2012 Integration Services (SSIS) 重新创建 DTS 包。

    有关 SQL Server 2012 Integration Services (SSIS) 中的新功能的信息,请参阅新增功能 (Integration Services)。 有关 Integration Services 包的结构的概述,请参阅 Integration Services (SSIS) 包

选择升级方法

可以使用各种方法来升级 SQL Server 2005 和 SQL Server 2008 包。 对于某些方法,升级只是临时的。 对于其他方法,升级将是永久的。 下表描述了每种升级方法以及升级是临时的还是永久的。

注意注意

当您使用随当前版本的 SQL Server 一起安装的 dtexec 实用工具 (dtexec.exe) 运行 SQL Server 2005 或 SQL Server 2008 包时,临时包升级将增加执行时间。 包执行时间的增加比率将由包的大小决定。 为了避免增加执行时间,建议您在运行包之前对包进行升级。

升级方法

升级类型

使用随当前版本的 SQL Server 安装的 dtexec 实用工具 (dtexec.exe) 来运行 SQL Server 2005 或 SQL Server 2008 包。

有关详细信息,请参阅 dtexec 实用工具

包升级是临时的。 对于 SQL Server 2005 包,脚本迁移是临时的。

无法保存所做的更改。

在 SQL Server Data Tools (SSDT) 中打开 SQL Server 2005 或 SQL Server 2008 包文件。

如果保存该包,则包升级是永久的;否则,如果不保存该包,则包升级是临时的。

对于 SQL Server 2005 包,如果保存该包,则包迁移是永久的;否则是临时的。

将 SQL Server 2005 或 SQL Server 2008 包添加到 SQL Server Data Tools (SSDT) 的现有项目中。

包升级是永久的。 对于 SQL Server 2005 包,脚本迁移是永久的。

在 Visual Studio 中打开 SQL Server 2005 Integration Services (SSIS) 或 SQL Server 2008 Integration Services (SSIS) 项目文件,然后使用 SSIS 包升级向导升级项目中的多个包。

有关详细信息,请参阅使用 SSIS 包升级向导升级 Integration Services 包SSIS 包升级向导的 F1 帮助

包升级是永久的。 对于 SQL Server 2005 包,脚本迁移是永久的。

使用 Upgrade 方法升级一个或多个 Integration Services 包。

包升级是永久的。 对于 SQL Server 2005 包,脚本迁移是永久的。

自定义应用程序和自定义组件

SQL Server 2005 Integration Services (SSIS) 自定义组件将不与 SQL Server Integration Services 的当前版本一起使用。

可以使用当前版本的 SQL Server Integration Services 工具运行和管理包含 SQL Server 2008 和 SQL Server 2008 R2 SSIS 自定义组件的包。 我们已向下列文件添加了四个绑定限制规则以帮助将版本 10.0.0.0 (SQL Server 2008 R2) 中的运行时程序集定向到版本 11.0.0.0 (SQL Server 2012)。

  • DTExec.exe.config

  • dtshost.exe.config

  • DTSWizard.exe.config

  • DTUtil.exe.config

  • DTExecUI.exe.config

若要使用 SQL Server Data Tools 设计包含 SQL Server 2008 和 SQL Server 2008 R2 自定义组件的包,需要修改位于 <drive>:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE 的 devenv.exe.config 文件。

若要将这些包用于使用 SQL Server 2012 的运行时生成的客户应用程序,则在可执行文件的 *.exe.config 文件的配置部分中包含重定向规则。 这些规则会将运行时程序集重定向至版本 11.0.0.0 (SQL Server 2012)。 有关程序集版本重定向的详细信息,请参阅<运行时>的 <assemblyBinding> 元素.

定位程序集

在 SQL Server 2012 中,Integration Services 程序集已升级到 .NET 4.0。 位于 <drive>:\Windows\Microsoft.NET\assembly 中的 .NET 4 存在单独的全局程序集缓存。 您可在此路径下找到所有 Integration Services 程序集,一般位于 GAC_MSIL 文件夹中。

与之前版本的 SQL Server 一样,核心 Integration Services 扩展性 .dll 文件也位于 <drive>:\Program Files\Microsoft SQL Server\100\SDK\Assemblies 中。

了解 SQL Server 包升级结果

在包升级过程中,SQL Server 2005 和 SQL Server 2008 包中的大部分组件和功能都无缝地转换为其在当前版本的 SQL Server 中的对应部分。 但是,有一些组件和功能,它们要么无法升级,要么升级的结果值得引起您的注意。 下表确定了这些组件和功能。

注意注意

若要确定哪些包具有该表中列出的问题,请运行升级顾问。 有关详细信息,请参阅使用升级顾问来准备升级

组件或功能

升级结果

连接字符串

对于 SQL Server 2005 和 SQL Server 2008 包,某些提供程序的名称已更改,而且需要在连接字符串中使用不同的值。

若要更新连接字符串,请使用下列过程之一:

  • 使用 SSIS 包升级向导升级包,并选择“更新连接字符串以使用新的提供程序名称”选项。

  • 在 SQL Server Data Tools (SSDT) 中,在“选项”对话框的“常规”页上,选择“更新连接字符串以使用新的提供程序名称”选项。 有关此选项的详细信息,请参阅“常规”页

  • 在 SQL Server Data Tools (SSDT) 中,打开该包并手动更改 ConnectionString 属性的文本。

注意注意

在连接字符串存储于配置文件或数据源文件中,或表达式设置了 ConnectionString 属性时,不能使用上述过程更新连接字符串。 若要在这两种情况下更新连接字符串,必须手动更新文件或表达式。

有关数据源的详细信息,请参阅数据源

查找转换

对于 SQL Server 2005 包,升级过程会将查找转换自动升级为 SQL Server Integration Services 的当前版本。 不过,此组件的当前版本有一些您可能想要利用的额外功能。

有关详细信息,请参阅查找转换

脚本任务和脚本组件

对于 SQL Server 2005 包,升级过程会自动将脚本任务和脚本组件中的脚本从 VSA 迁移到 VSTA。

有关在迁移之前可能需要进行的脚本更改以及脚本转换失败的详细信息,请参阅将脚本迁移到 VSTA

依赖于 ADODB.dll 的脚本

在未安装 SQL Server Management Studio 或 SQL Server Data Tools (SSDT) 的计算机上,可能不能升级或运行显式引用 ADODB.dll 的“脚本任务”和“脚本组件”脚本。 为了升级这些“脚本任务”或“脚本组件”脚本,建议您删除对 ADODB.dll 的依赖关系。Ado.Net 是建议用于托管代码(如 VB 和 C# 脚本)的替代项。

外部资源