升级 Integration Services 时的注意事项

如果计算机中当前安装了 SQL Server 2005Integration Services,则可以升级到 SQL Server 2008Integration Services。

注意注意

如果想要从 SQL Server 2000 Data Transformation Services (DTS) 升级到 SQL Server 2008Integration Services,请参阅升级 Data Transformation Services 时的注意事项

升级 Integration Services 前的准备工作

建议您在升级到 SQL Server 2008 之前先运行升级顾问。如果将现有 Integration Services 包迁移到 SQL Server 2008 所采用的新的包格式,则可能会遇到升级顾问报表问题。有关详细信息,请参阅使用升级顾问来准备升级

升级 Integration Services

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

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

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

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

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

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

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

升级时,可以同时升级 Integration Services 和数据库引擎,也可以只升级数据库引擎,或只升级 Integration Services。如果仅升级数据库引擎、则 SQL Server 2005Integration Services 仍将正常运行,但是不具有 SQL Server 2008Integration Services 的功能。如果仅升级 Integration Services,则 SQL Server 2008Integration Services 完全可以正常运行,但只能将包存储在文件系统中,除非其他计算机上有可用的 SQL Server 2008SQL Server 数据库引擎实例。

将 Integration Services 和数据库引擎同时升级到 SQL Server 2008

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

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

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

升级过程执行的操作

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

  • 升级 Integration Services 文件、服务和工具(Management Studio 和 BI Development Studio)。当同一台计算机上存在多个 SQL Server 2005 实例时,升级第一个数据库引擎实例时也将进行上述升级。

  • 在升级过程完成后,删除 SQL Server 2005Integration Services 文件、服务和工具。

  • 将 SQL Server 2005 数据库引擎实例升级到 SQL Server 2008 版本。

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

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

      注意注意

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

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

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

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

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

  • 如果 SSIS 包存储区(即由 Integration Services 服务管理的文件系统位置)即为 \SQL Server\90 下的默认位置,则将这些包移动到 \SQL Server\100 下新的默认位置。

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

升级过程不执行的操作

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

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

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

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

升级后可执行的操作

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

  • 运行 SQL Server 代理作业来运行包。

  • 使用 Management Studio 管理存储在 SQL Server 2005 实例中的 Integration Services 包。但是,可能必须修改服务配置文件,以将 SQL Server 2005 实例添加到由服务管理的位置列表中。

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

  • 不能使用 SQL Server 2005 工具来设计、运行或管理 Integration Services 包。SQL Server 2005 工具包括 Business Intelligence Development Studio 的 SQL Server 2005 版本、SQL Server 导入和导出向导以及包执行实用工具 (dtexecui.exe)。升级过程不删除 SQL Server 2005 工具。但是,您将无法在已升级的服务器上使用这些工具继续处理 SQL Server 2005Integration Services 包。

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

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

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

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

  • 数据库引擎实例在一台计算机上,而 SQL Server 2005Integration Services 和客户端工具在一台计算机上。

升级后可执行的操作

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

  • 不能使用位于其他计算机上的 SQL Server 2005 工具 Management Studio 和 BI Development Studio 来加载或管理升级后的数据库引擎实例中的包。

    注意注意

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

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

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