64 位计算机上的 Integration Services 注意事项

更新日期: 2007 年 9 月 15 日

Microsoft SQL Server 2005 的 64 位版本包括 Integration Services,但某些 Integration Services 功能只在 32 位版本中提供,或者在 64 位计算机上有限制,或者基于 Itanium 的操作系统不支持。

有关在 SQL Server 2005 的各种版本中所包括的功能的信息,请参阅 SQL Server 2005 的各种版本所支持的功能

在 64 位计算机上安装 Integration Services

安装在 64 位计算机上的 Integration Services 功能

安装 SQL Server 2005 并同时选择 Integration Services 和 Business Intelligence Development Studio 时,将安装所有可用的 32 位和 64 位设计时及运行时 Integration Services 功能。 安装 Integration Services 时,还会安装对 SQL Server 2000 Data Transformation Services (DTS) 包的 32 位运行时支持。

64 位功能安装在 Program Files 目录下,而 32 位功能单独安装在 Program Files (x86) 目录下。 (这种行为并不特定于 Integration Services 或 SQL Server 2005)。

ms141766.note(zh-cn,SQL.90).gif重要提示:
Itanium 64 位操作系统不支持 Business Intelligence Development Studio(Integration Services 包的 32 位开发环境),因此不能将 Business Intelligence Development Studio 安装在 Itanium 服务器上。

Integration Services 工具的 64 位版本

以下 Integration Services 工具具有 64 位版本:

  • dtexec 实用工具 (dtexec.exe)
  • dtutil 实用工具 (dtutil.exe)
  • SQL Server 导入和导出向导 (DTSWizard.exe)
ms141766.note(zh-cn,SQL.90).gif注意:
在 64 位计算机上使用执行包实用工具 (dtexecui.exe) 开发和测试命令时,请记住此 32 位工具是以 32 位模式运行包的。 在生产服务器上部署或计划这些命令之前,还应当通过使用 64 位版本的 dtexec.exe 在 64 位模式下测试这些命令。

消息队列任务安装问题

仅能有一个 SQL Server 消息队列任务版本可以在 COM+ 中注册。 因此,如果已在 64 位计算机上安装 64 位 SQL Server,则只能在运行于 64 位模式的包中使用消息队列任务;不能在运行于 32 位模式的包中使用消息队列任务。

如果已在 64 位计算机上安装 32 位 SQL Server,则只能在运行于 32 位模式的包中使用消息队列任务;不能在运行于 64 位模式的包中使用消息队列任务。

64 位计算机对 Data Transformation Services 的支持

不对在早期版本的 SQL Server 中创建的 Data Transformation Services (DTS) 包提供 64 位设计时或运行时支持。 有关详细信息,请参阅 SQL Server 2005 Integration Services 的向后兼容性

在 64 位计算机上设计 Integration Services 包

在基于 Itanium 的操作系统上,不能在 BI Development Studio 中设计包或在脚本任务中调试脚本。

与以 32 位模式运行包相比,以 64 位模式运行包时所能连接的数据源可能要少一些。 一些 .NET Framework 数据访问接口和本机 OLE DB 访问接口可能没有提供 64 位版本。 例如,Microsoft OLE DB Provider for Jet(连接到 Access 数据库和 Excel 电子表格)没有 64 位版本。

32 位 SSIS 设计器只显示安装在本地计算机上的 32 位访问接口。 若要将连接管理器配置为使用特定的 64 位访问接口,必须在开发计算机上安装该访问接口的 32 位版本以便在设计时使用。 即使安装了访问接口的 32 位版本,仍然可以在开发环境中以及在部署之后以 64 位模式运行包。 访问接口的 32 位版本和 64 位版本具有相同的 ID。 因此,SSIS 运行时将选择使用适当的访问接口版本。 例如,假如您在 64 位计算机上的开发环境中运行包。 默认情况下,该包使用访问接口的 64 位版本,因为 Run64BitRuntime 项目属性的默认值为 True

除非脚本已经预编译,否则无法在 64 位模式下运行(例如,在脚本任务或文件中)包含脚本的包。 默认情况下,对于脚本任务和脚本组件,PreCompile 属性的值均设置为 True

对于在 64 位模式下运行的包,无法在该包中使用执行 DTS 2000 包任务。 SQL Server 2000 Data Transformation Services 运行时无法用于 64 位版本中。

在 64 位计算机上运行 Integration Services 包

有时,您可能希望以 32 位模式运行包以便运行未编译的脚本、运行 SQL Server 2000 DTS 包或使用没有 64 位版本的托管 .NET Framework 数据访问接口或本机 OLE DB 访问接口。

在 SSIS 设计器中选择 32 位或 64 位包执行

在 Integration Services 包的**“项目属性”中,可以通过在“调试”**页上设置 Run64BitRuntime 属性的值来选择 32 位或 64 位执行。 默认情况下,此属性的值为 True。 如果未安装 Integration Services 运行时的 64 位版本,则忽略此设置。

ms141766.note(zh-cn,SQL.90).gif注意:
Run64BitRuntime 项目属性仅能在设计时使用。

在 SQL Server 代理作业中选择 32 位或 64 位包执行

通过**“SQL Server Integration Services 包”**类型的步骤配置 SQL Server 代理作业时,该作业在 64 位计算机上始终以 64 位模式运行包,因为此步骤类型调用 dtexec.exe 的 64 位版本来运行包。 其前提是假定已经在 64 位计算机上安装并正在运行 64 位版本的 SQL Server 2005 和 SQL Server 代理。 如果已经在 64 位计算机上安装并正在运行 32 位版本的 SQL Server 2005 和 SQL Server 代理,则此步骤类型调用 dtexec.exe 的 32 位版本来运行包。

如果要在 32 位模式下从 64 位的 SQL Server 代理作业运行包,请选择**“操作系统”**作业步骤类型,然后输入命令行或使用调用 dtexec.exe 的 32 位版本的批处理文件。 可以使用 dtexecui.exe 实用工具来创建命令行,然后将该命令行复制并粘贴到作业步骤中。

更改历史记录

发布日期 历史记录

2007 年 9 月 15 日

更改的内容:
  • 阐明了数据源的可用性以及访问接口在 64 位开发环境中的工作方式。

2005 年 12 月 5 日

更改的内容:
  • 说明了 Business Intelligence Development Studio 不能在 Itanium 体系结构上运行。
  • 注意,dtexecui.exe 只能在 32 位模式下运行,并且需要在 64 位模式下测试包。
  • 描述了消息队列任务的已知问题。
  • 说明了用于 Access 和 Excel 数据库的 Microsoft OLE DB Provider for Jet 没有 64 位版本。