64 位元電腦上的 Integration Services 考量

更新: 2007 年 9 月 15 日

64 位元版本的 Microsoft SQL Server 2005 包括 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-tw,SQL.90).gif重要事項:
Business Intelligence Development Studio 是 Integration Services 封裝的 32 位元開發環境,並不支援 Itanium 64 作業系統,也不會安裝在 Itanium 伺服器上。

64 位元版本的 Integration Services 工具

下列 Integration Services 工具提供 64 位元版本:

  • dtexec 公用程式 (dtexec.exe)
  • dtutil 公用程式 (dtutil.exe)
  • SQL Server 匯入和匯出精靈 (DTSWizard.exe)
ms141766.note(zh-tw,SQL.90).gif附註:
在 64 位元電腦上使用「執行封裝公用程式」(dtexecui.exe) 開發及測試命令時,請記住這個 32 位元工具執行的是 32 位元模式的封裝。在實際伺服器上部署或排程命令之前,您也應該使用 64 位元版本的 dtexec.exe,以 64 位元模式測試這些命令。

訊息佇列工作安裝問題

您只能以 COM+ 登錄 SQL Server「訊息佇列」工作的一個版本。因此,如果您將 64 位元的 SQL Server 安裝在 64 位元電腦上,只能在以 64 位元模式執行的封裝中使用「訊息佇列」工作,而不能在以 32 位元模式執行的封裝中使用「訊息佇列」工作。

如果將 32 位元的 SQL Server 安裝在 64 位元電腦上,您就只能在以 32 位元模式執行的封裝中使用「訊息佇列」工作,而不能在以 64 位元模式的封裝中使用「訊息佇列」工作。

64 位元電腦上的 Data Transformation Services 支援

64 位元設計階段或執行階段不支援在舊版 SQL Server 中建立的 Data Transformation Services (DTS) 封裝。如需詳細資訊,請參閱<SQL Server 2005 Integration Services 回溯相容性>。

在 64 位元電腦上設計 Integration Services 封裝

您無法在 Itanium 為基礎的作業系統上,使用 BI Development Studio 或指令碼工作的偵錯指令碼設計封裝。

當您以 64 位元模式執行封裝時,可能無法像以 32 位元模式執行封裝時連接那麼多的資料來源。部分 .NET Framework Data Provider 和原生 OLE DB 提供者可能沒有提供 64 位元版本。例如,連接到 Access 資料庫和 Excel 試算表的 Microsoft OLE DB Provider for Jet 便沒有提供 64 位元版本。

32 位元「SSIS 設計師」只會顯示本機電腦上安裝的 32 位元提供者。如果要設定連接管理員使用特定的 64 位元提供者,您必須在設計階段所使用的開發電腦上安裝 32 位元版本的提供者。即使安裝了 32 位元版本的提供者,您仍然可以在開發環境和稍後的部署環境中,以 64 位元模式執行封裝。32 位元和 64 位元版本的提供者具有相同的識別碼。因此,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 位元版本的 Managed .NET Framework Data Provider 或原生 OLE DB 提供者。

選取 SSIS 設計師中的 32 位元或 64 位元封裝執行

在 Integration Services 封裝的 [專案屬性] 中,您可以透過在 [偵錯] 頁面中設定 Run64BitRuntime 屬性的值,以選取 32 位元或 64 位元的執行模式。依預設,此屬性的值為 True。如果未安裝 64 位元版本的 Integration Services 執行階段,則會忽略此設定。

ms141766.note(zh-tw,SQL.90).gif附註:
Run64BitRuntime 專案屬性只適用於設計階段。

選取 SQL Server Agent 作業中的 32 位元或 64 位元封裝執行

當您使用 [SQL Server Integration Services 封裝] 類型的步驟,設定 SQL Server Agent 作業時,該作業在 64 位元電腦上會永遠以 64 位元模式執行封裝,這是因為此步驟類型會叫用 64 位元版本的 dtexec.exe 以執行封裝。這是假設您已經在 64 位元電腦上安裝並正在執行 64 位元版本的 SQL Server 2005 及 SQL Server Agent。如果您已經在 64 位元電腦上安裝並正在執行 32 位元版本的 SQL Server 2005 和 SQL Server Agent,則此步驟類型會叫用 32 位元版本的 dtexec.exe 執行封裝。

若要以 32 位元模式從 64 位元 SQL Server Agent 作業執行封裝,請選取 [作業系統] 作業步驟類型,並輸入命令列或使用叫用 32 位元版本之 dtexec.exe 的批次檔。您可以使用 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 位元版本中使用的附註。