Integration Services 的 64 位元考量

64 位元版本的 Microsoft SQL Server 包括 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。

重要事項重要事項

Business Intelligence Development Studio (也就是 Integration Services 封裝的 32 位元開發環境) 在 Itanium 64 位元作業系統上不受支援,且不會安裝在 Itanium 伺服器上。

如果您必須在 32 位元模式下執行特定封裝,需要安裝 32 位元版本的 Integration Services 工具。若要安裝 32 位元版本的工具,您必須在安裝期間選取 [Business Intelligence Development Studio][管理工具 - 完成]

64 位元功能會安裝在 Program Files 目錄下,而 32 位元功能則另外安裝在 Program Files (x86) 目錄下 (此行為不是 Integration Services 或 SQL Server 特有的)。

64 位元版本的 Integration Services 和工具

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 位元模式執行封裝。在實際伺服器上部署或排程這些命令之前,應該使用 dtexec 公用程式的 64 位元版本以 64 位元模式來測試這些命令。

根據預設,同時安裝了 64 位元和 32 位元版之 Integration Services 命令提示字元公用程式的 64 位元電腦將會在命令提示字元上執行 32 位元版本。執行 32 位元版本是因為 32 位元版本的目錄路徑在 PATH 環境變數中會出現在 64 位元版本的目錄路徑前面 (一般來說,32 位元的目錄路徑是 <drive>:\Program Files(x86)\Microsoft SQL Server\100\DTS\Binn,而 64 位元的目錄路徑是 <drive>:\Program Files\Microsoft SQL Server\100\DTS\Binn)。

[!附註]

如果您使用 SQL Server Agent 執行此公用程式,SQL Server Agent 會自動使用 64 位元版的公用程式。SQL Server Agent 會使用此登錄 (而不是 PATH 環境變數) 來尋找此公用程式的正確可執行檔。

若要確保您可在命令提示字元上執行 64 位元版的公用程式,您可以採取下列其中一個動作:

  • 開啟 [命令提示字元] 視窗,然後將目錄切換到包含 64 位元版之公用程式的目錄 (<drive>:\Program Files\Microsoft SQL Server\100\DTS\Binn),然後從該位置執行此公用程式。

  • 在命令提示字元上執行此公用程式,其方式是輸入 64 位元版之公用程式的完整路徑 (<drive>:\Program Files\Microsoft SQL Server\100\DTS\Binn)。

  • 永久變更 PATH 環境變數中的路徑順序,其方式是在變數中將 64 位元路徑 (<drive>:\Program Files\Microsoft SQL Server\100\DTS\Binn) 放在 32 位元路徑 (<drive>:\ Program Files(x86)\Microsoft SQL Server\100\DTS\Binn) 的前面。

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

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

Itanium 作業系統也不提供 DTS 封裝的 32 位元設計階段或執行階段支援;因此您無法在 Itanium 作業系統上建立、檢視、修改或執行 DTS 封裝。

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

您無法在 BI Development Studio 中設計封裝,或在 Itanium 作業系統上的指令碼工作中進行指令碼偵錯。

以 64 位元模式執行封裝時,可以連接的資料來源數目可能不及以 32 位元模型執行封裝時可連接的數目。部分 .NET Framework Data Provider 和原生 OLE DB 提供者可能無法用於 64 位元版本。例如,連接到 Access 資料庫和 Excel 試算表的 Microsoft OLE DB Provider for Jet 就無法用於 64 位元版本。此外,連接到 SQL Server Compact 資料來源的 SQL Server Compact 提供者也無法用於 64 位元版本。

[!附註]

ACE 提供者及其 Excel 2010 驅動程式 (64 位元、32 位元) 在某些情況下可以搭配 Integration Services 使用。如需詳細資訊及下載提供者,請參閱 Microsoft Access Database Engine 2010 可轉散發

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

  • 使用指令碼工作或指令碼元件,參考不提供或未安裝 64 位元版本的其他組件或 COM 元件。

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

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

[!附註]

Run64BitRuntime 專案屬性只會在設計階段套用。

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

當您使用 [SQL Server Integration Services 封裝] 的作業步驟類型來設定 SQL Server Agent 作業時,該作業會叫用 dtexec 公用程式。不過,該作業所叫用的 dtexec 公用程式版本,是依 64 位元電腦上已安裝且正在執行的 SQL Server 和 SQL Server Agent 版本而定:

  • 已在電腦上安裝且正在執行 SQL Server 和 SQL Server Agent 的 64 位元版本。然後,[SQL Server Integration Services 封裝] 的作業步驟類型會叫用 dtexec 公用程式的 64 位元版本,而且該封裝會以 64 位元模式執行。

    [!附註]

    若要從 64 位元版本的 SQL Server Agent 中以 32 位元模式執行封裝,請在 [新增作業步驟] 對話方塊的 [執行選項] 索引標籤上選取 [使用 32 位元執行階段]

  • 已在電腦上安裝且正在執行 SQL Server 和 SQL Server Agent 的 32 位元版本。然後,[SQL Server Integration Services 封裝] 的作業步驟類型會叫用 dtexec 公用程式的 32 位元版本,而且該封裝會以 32 位元模式執行。

Integration Services 圖示 (小) 掌握 Integration Services 的最新狀態

若要取得 Microsoft 的最新下載、文章、範例、影片,以及社群的精選解決方案,請瀏覽 MSDN 上的 Integration Services 頁面:


若要得到這些更新的自動通知,請訂閱該頁面上所提供的 RSS 摘要。