升级 Integration Services

如果计算机上当前安装了 SQL Server 2005 Integration Services (SSIS) 或 SQL Server 2008 Integration Services (SSIS) ,则可以升级到 SQL Server 2014 Integration Services (SSIS) 。

在安装了这些早期版本的 Integration Services 之一的计算机上升级到 SQL Server 2014 Integration Services (SSIS) 时,SQL Server 2014 Integration Services (SSIS) 与早期版本并行安装。

通过采用这一并行安装,将安装 dtexec 实用工具的多个版本。 若要确保运行正确的实用工具版本,请在命令提示符下通过输入完整路径(<驱动器>:\Program Files\Microsoft SQL Server\<version>\DTS\Binn)来运行此实用工具。 有关 dtexec 的详细信息,请参阅 dtexec Utility

注意

在以前版本的 SQL Server中,在您安装了 SQL Server 后,默认情况下 Users 组中的所有用户都已对 Integration Services 服务具有访问权限。 安装 SQL Server 2014 时,用户无权访问 Integration Services 服务。 该服务默认是安全的。 安装 SQL Server 2014 后,SQL Server管理员必须运行 DCOM 配置工具 (Dcomcnfg.exe) 以授予特定用户访问 Integration Services 服务的权限。 有关详细信息,请参阅 Grant Permissions to Integration Services Service

升级 Integration Services 前的准备工作

建议在升级到 SQL Server 2014 之前运行升级顾问。 升级顾问报告将现有 Integration Services 包迁移到 SQL Server 2014 使用的新包格式时可能会遇到的问题。 有关详细信息,请参阅 Use Upgrade Advisor to Prepare for Upgrades

注意

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

  • DTS 运行时
  • DTS API
  • 用于将 DTS 包迁移到下一版本的 Integration Services 的包迁移向导
  • 支持在 SQL Server Management Studio 中进行 DTS 包维护
  • 执行 DTS 2000 包任务
  • 升级 DTS 包的顾问扫描。

有关其他已停用功能的信息,请参阅 SQL Server 2014 中停止使用的 Integration Services 功能

升级 Integration Services

可以通过使用下列方法之一来进行升级:

  • 运行 SQL Server 2014 安装程序,然后选择“从 SQL Server 2005、SQL Server 2008 或 SQL Server 2008 R2SQL Server 2012 升级”选项。

  • 在命令提示符下运行 setup.exe 并指定 /ACTION=upgrade 选项。 有关详细信息,请参阅从命令提示符安装 SQL Server 2014 中的“Integration Services 安装脚本”部分。

不能通过升级执行下列操作:

  • 重新配置 Integration Services 的现有安装。

  • 从 SQL Server 的 32 位版本迁移到 64 位版本,或者从 64 位版本迁移到 32 位版本。

  • 从 SQL Server 的一个本地化版本迁移到另一个本地化版本。

升级时,可以同时升级 Integration Services 和数据库引擎,也可以仅升级数据库引擎,或者仅升级 Integration Services。 如果仅升级数据库引擎,SQL Server 2005 Integration Services (SSIS) 或 SQL Server 2008 Integration Services (SSIS) 仍然有效,但你没有 SQL Server 2014 Integration Services (SSIS) 的功能。 如果仅升级 Integration Services,SQL Server 2014 Integration Services (SSIS) 完全正常运行,但只能在文件系统中存储包,除非在另一台计算机上提供 SQL Server 2014 数据库引擎的实例。

将 Integration Services 和数据库引擎升级到 SQL Server 2014

本节介绍执行符合以下条件的升级的影响:

  • 将 Integration Services 和数据库引擎实例升级到 SQL Server 2014。

  • Integration Services 和数据库引擎实例位于同一台计算机上。

升级过程执行的操作

升级过程将执行以下任务:

  • (Management Studio 和 SQL Server Data Tools) 安装 SQL Server 2014 Integration Services (SSIS) 文件、服务和工具。 在同一台计算机上有多个 SQL Server 2005 或 SQL Server 2008 实例时,首次将任一实例升级到 SQL Server 2014 时,将安装 SQL Server 2014 Integration Services (SSIS) 文件、服务和工具。

  • 将 SQL Server 2005 或 SQL Server 2008Database Engine 的实例升级到 SQL Server 2014 版本。

  • 将数据从 SQL Server 2005 Integration Services (SSIS) 或 SQL Server 2008 Integration Services (SSIS) 系统表移动到 SQL Server 2014 Integration Services (SSIS) 系统表,如下所示:

    • 移动包而无需将 msdb.dbo.sysdtspackages90 系统表更改为 msdb.dbo.sysssispackages 系统表。

      注意

      虽然数据移动到另一个系统表中,但是升级过程并不将包迁移到新的格式。

    • 将文件夹元数据从 msdb.sysdtsfolders90 系统表移至 msdb.sysssisfolders 系统表。

    • 将日志数据从 msdb.sysdtslog90 系统表移至 msdb.sysssislog 系统表。

  • 将数据移动到新的 msdb.sysssis* 表后,删除 msdb.sysdts*90 系统表和用于访问它们的存储过程。 但是,升级过程将使用一个具有相同名称的 sysdtslog90 视图来替换 sysdtslog90 表。 这个新 sysdtslog90 视图将公开新的 msdb.sysssislog 系统表。 这可确保基于日志表的报表将继续运行而不会中断。

  • 为了控制对包的访问,将新建三个固定的数据库级角色:db_ssisadmin、db_ssisltduser 和 db_ssisoperator。 不会删除 db_dtsadmin、db_dtsltduser 和 db_dtsoperator SQL Server 2005Integration Services 角色,而是成为相应新角色的成员。

  • 如果 SSIS 包存储 (,则 Integration Services 服务) 托管的文件系统位置是 \SQL Server\90、\SQL Server\100\SQL Server\110 下的默认位置,这些包将移动到 \SQL Server\120 下的新默认位置。

  • 更新 Integration Services 服务配置文件以指向升级后的数据库引擎实例。

升级过程不执行的操作

升级过程不执行以下任务:

  • 删除 SQL Server 2005 Integration Services (SSIS) 或 SQL Server 2008 Integration Services (SSIS) 服务。

  • 不会将现有 Integration Services 包迁移到 SQL Server 2014 使用的新包格式。 有关如何迁移包的信息,请参阅 升级 Integration Services 包

  • 不会移动位于默认位置以外的文件系统位置(已在服务配置文件中添加这些位置)中的包。 如果之前已向服务配置文件中添加了多个文件系统文件夹,不会将存储在这些文件夹中的包移至新位置。

  • 在直接调用 dtexec 实用工具 (dtexec.exe) 的 SQL Server 代理作业步骤中,不会更新 dtexec 实用工具的文件系统路径。 必须手动编辑这些作业步骤才能更新文件系统路径,以指定 dtexec 实用工具的 SQL Server 2014 位置。

升级后可执行的操作

升级过程完成后,可以执行下列任务:

  • 运行用于运行包的 SQL Server 代理作业。

  • 使用 Management Studio 管理存储在 SQL Server 2008 或 SQL Server 2014 实例中的 Integration Services 包。 需要修改服务配置文件,将 SQL Server 2008 的实例添加到服务托管的位置列表中。

    注意

    早期版本的 Management Studio 无法连接到 SQL Server 2014 Integration Services (SSIS) 服务。

  • 通过检查 PackageFormat 列中的值,确定 msdb.dbo.sysssispackages 系统表中包的版本。 表中包含一个标识每个包的版本的 PackageFormat 列。 packageformat 列中的值为 2 表示SQL Server 2005 Integration Services (SSIS) 包;值 3 表示SQL Server 2008 Integration Services (SSIS) 包。 在将包迁移到新的包格式之前,packageformat 列中的值将不更改。

  • 不能使用 SQL Server 2005 或 SQL Server 2008 工具来设计、运行或管理 Integration Services 包。 SQL Server 2005 和 SQL Server 2008 工具包括SQL Server Data Tools (SSDT) 、SQL Server导入和导出向导以及包执行实用工具 (dtexecui.exe) 的相应版本。 升级过程不会删除 SQL Server 2005 或 SQL Server 2008 工具。 但是,你将无法使用这些工具继续使用已升级的服务器上的 SQL Server 2005 Integration Services (SSIS) 或 SQL Server 2008 Integration Services (SSIS) 包。

  • 默认情况下,在升级安装中,Integration Services 被配置为将与运行包相关的事件记录到应用程序事件日志中。 使用 SQL Server 2014 的数据收集器功能时,此设置可能会生成过多的事件日志条目。 记录的事件包括 EventID 12288“包已启动”和 EventID 12289“包已成功完成”。若要阻止将这两个事件记录到应用程序事件日志中,请打开注册表以进行编辑。 然后在注册表中,找到 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\120\SSIS 节点,并将 LogPackageExecutionToEventLog 设置的 DWORD 值从 1 更改为 0。

仅将数据库引擎升级到 SQL Server 2014

本节介绍执行符合以下条件的升级的影响:

  • 仅升级数据库引擎实例。 也就是说,数据库引擎实例现在是 SQL Server 2014 的实例,但 Integration Services 和客户端工具的实例来自 SQL Server 2005 或 SQL Server 2008。

  • 数据库引擎实例位于一台计算机上,而 Integration Services 和客户端工具位于另一台计算机上。

升级后可执行的操作

在升级的数据库引擎实例中存储包的系统表与 SQL Server 2005 或 SQL Server 2008 中使用的系统表不同。 因此,SQL Server 2005 或 SQL Server 2008 版本的 Management Studio 和 SQL Server Data Tools 无法在数据库引擎升级实例上的系统表中发现包。 由于无法发现这些包,因此在使用这些包时会受到一些限制:

  • 不能在其他计算机上使用 SQL Server 2005 或 SQL Server 2008 工具 Management Studio 和 SQL Server Data Tools 从升级的数据库引擎实例加载或管理包。

    注意

    尽管数据库引擎升级实例中的包尚未迁移到新的包格式,但SQL Server 2005 或 SQL Server 2008 工具无法发现它们。 因此,SQL Server 2005 或 SQL Server 2008 工具无法使用包。

  • 不能使用 SQL Server 2005 Integration Services (SSIS) 或 SQL Server 2008 Integration Services (SSIS) 在其他计算机上运行存储在数据库引擎升级实例上的 msdb 中的包。

  • 不能在 SQL Server 2005 或 SQL Server 2008 计算机上使用SQL Server 代理作业来运行 SQL Server 2005 Integration Services (SSIS) 或 SQL Server 2008 Integration Services (SSIS) 包,这些包存储在数据库引擎的升级实例中。

外部资源

blogs.msdn.com 上的博客文章: 使您的现有自定义 SSIS 扩展插件和应用程序在 Denali 下工作