升级 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 包,某些提供程序的名称已更改,而且需要在连接字符串中使用不同的值。 若要更新连接字符串,请使用下列过程之一:
有关数据源的详细信息,请参阅数据源。 |
||
查找转换 |
对于 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# 脚本)的替代项。
外部资源
msdn.microsoft.com 上的技术文章将 SSIS 顺利升级到 SQL Server 2012 的 5 个提示。
blogs.msdn.com 上的博客文章:使您的现有自定义 SSIS 扩展插件和应用程序在 Denali 下工作。
channel9.msdn.com 上的 Web 广播 将 SSIS 包升级到 SQL Server 2012。