在 64 位计算机上使用 Integration Services 时的注意事项

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

在 64 位计算机上安装 Integration Services

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

运行 SQL Server 安装程序时,如果只选择安装 Integration Services,安装程序将安装所有可用的 64 位 Integration Services 功能和工具。

但是,如果您需要 Integration Services 设计时功能,还必须安装 Business Intelligence Development Studio。若要安装 Business Intelligence Development Studio,请在安装过程中选择 Business Intelligence Development Studio。

重要说明重要提示

Itanium 64 位操作系统不支持 Business Intelligence Development Studio(即 Integration Services 包的 32 位开发环境),因此不能将 Business Intelligence Development Studio 安装在 Itanium 服务器上。

如果需要以 32 位模式运行某些包,还必须安装 32 位版本的 Integration Services 工具。若要安装工具的 32 位版本,必须在安装期间选择 Business Intelligence Development Studio 或**“管理工具 - 完整”**。

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

Integration Services 和工具的 64 位版本

Integration Services 运行时具有 64 位版本。

下列 Integration Services 工具也具有 64 位版本:

  • dtexec 实用工具 (dtexec.exe)

  • dtutil 实用工具 (dtutil.exe)

  • SQL Server导入和导出向导 (DTSWizard.exe)

在 64 位计算机上,安装过程中若选择 Integration Services,则只安装 64 位运行时和工具。如果必须以 32 位模式来运行包,还必须选择其他选项以安装 32 位运行时和工具:

  • 如果 64 位计算机运行的是 x86 操作系统,请选择 Business Intelligence Development Studio 或**“管理工具 - 完整”**。

  • 如果 64 位计算机运行的是 Itanium 操作系统,请选择**“管理工具 - 完整”**。

注意注意

在 64 位计算机上使用执行包实用工具 (dtexecui.exe) 开发和测试命令时,请注意此 32 位工具是在 32 位模式下运行包的。在生产服务器上部署或计划这些命令之前,还应当使用 64 位版本的 dtexec 实用工具在 64 位模式下测试这些命令。

默认情况下,同时安装了 64 位和 32 位版本的 Integration Services 命令提示实用工具的 64 位计算机将在命令提示符处运行 32 位版本。运行 32 位版本的原因是:在 PATH 环境变量中,32 位版本的目录路径显示在 64 位版本的目录路径之前。(通常,32 位目录路径是 <驱动器>:\Program Files(x86)\Microsoft SQL Server\100\DTS\Binn,而 64 位目录路径是 <驱动器>:\Program Files\Microsoft SQL Server\100\DTS\Binn。)

注意注意

如果使用 SQL Server 代理来运行此实用工具,则 SQL Server 代理会自动使用 64 位版本的实用工具。SQL Server 代理使用注册表(而非 PATH 环境变量)来找到此实用工具的正确可执行文件。

若要确保在命令提示符处运行 64 位版本的实用工具,可以执行以下操作之一:

  • 打开命令提示符窗口,更改到包含 64 位版本的实用工具的目录(<驱动器>:\Program Files\Microsoft SQL Server\100\DTS\Binn),然后从该位置运行此实用工具。

  • 在命令提示符处,通过输入 64 位版本的实用工具的完整路径(<驱动器>:\Program Files\Microsoft SQL Server\100\DTS\Binn)来运行此实用工具。

  • 通过在 PATH 环境变量中将 64 位路径(<驱动器>:\Program Files\Microsoft SQL Server\100\DTS\Binn)置于 32 位路径(<驱动器>:\ Program Files(x86)\Microsoft SQL Server\100\DTS\Binn)之前,可永久更改变量中路径的顺序。

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

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

对于基于 Itanium 的操作系统,也不对 DTS 包提供 32 位设计时或运行时支持。因此,无法在基于 Itanium 的操作系统上创建、查看、修改或运行 DTS 包。

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

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

在 64 位模式下运行包与在 32 位模式下运行包相比,可连接到的数据源数量可能要少。一些 .NET Framework 数据提供程序和本机 OLE DB 访问接口可能无法用于 64 位版本中。例如,Microsoft OLE DB Provider for Jet(连接到 Access 数据库和 Excel 电子表格)在 64 位版本中不可用。此外,连接到 SQL Server Compact 数据源的 SQL Server Compact Provider 在 64 位版本中不可用。

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

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

对于包的日志记录,在以 64 位模式运行的包中无法使用 SQL Server Profiler 日志提供程序。

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

有时您可能想要在 64 位计算机上以 32 位模式运行包。可能需要在 32 位模式下运行包的原因如下:

  • 运行 SQL Server 2000 DTS 包。

  • 使用不适用于 64 位版本的托管 .NET Framework 数据访问接口或本机 OLE DB 访问接口。

  • 使用的脚本任务或脚本组件引用 64 位版本不可用或未安装的其他程序集或 COM 组件。

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

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

注意注意

Run64BitRuntime 项目属性仅在设计时适用。

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

如果将 SQL Server 代理作业的作业步骤类型配置为**“SQL Server Integration Services 包”**,则该作业将调用 dtexec 实用工具。但是,该作业所调用的 dtexec 实用工具的版本取决于在此 64 位计算机上安装和运行的 SQL Server 和 SQL Server 代理的版本:

  • 已在该计算机上安装并正在运行 64 位版本的 SQL Server 和 SQL Server 代理。这样,作业步骤类型**“SQL Server Integration Services 包”**会调用 64 位版本的 dtexec 实用工具,包将在 64 位模式下运行。

    注意注意

    若要通过 64 位版本的 SQL Server 代理以 32 位模式运行包,请在“新建作业步骤”对话框的“执行选项”选项卡上选择“使用 32 位运行时”

  • 已在该计算机上安装并正在运行 32 位版本的 SQL Server 和 SQL Server 代理。这样,作业步骤类型**“SQL Server Integration Services 包”**会调用 32 位版本的 dtexec 实用工具,包将在 32 位模式下运行。

Integration Services 图标(小) 使 Integration Services 保持最新

若要从 Microsoft 获得最新的下载内容、文章、示例和视频,以及从社区获得所选解决方案,请访问 MSDN 或 TechNet 上的 Integration Services 页:

若要获得有关这些更新的自动通知,请订阅该页上提供的 RSS 源。