升級 Integration Services 封裝

當您將 SQL Server 2005 或 SQL Server 2008 的執行個體升級為目前的 SQL Server 版本時,現有的 SQL Server 2008 Integration Services (SSIS) 封裝並不會自動升級為目前之 SQL Server Integration Services 版本所使用的封裝格式。 您必須選取升級方法並手動升級您的封裝。

當您升級 SQL Server 2005 封裝時,Integration Services 會將任何指令碼工作和指令碼元件中的指令碼移轉到 Microsoft Visual Studio Tools for Applications (VSTA)。 在 SQL Server 2005 中,指令碼工作或指令碼元件中的指令碼會使用 Microsoft Visual Studio for Applications (VSA)。 如需有關您可能必須在移轉之前對指令碼進行的變更以及指令碼轉換失敗的詳細資訊,請參閱<將指令碼移轉到 VSTA>。

如需將專案轉換為專案部署模型時升級封裝的詳細資訊,請參閱<將專案部署至 Integration Services 伺服器>。

SQL Server 2000 Data Transformation Services 封裝

在目前的 SQL Server Integration Services 版本中,已停用針對移轉或執行 Data Transformation Services (DTS) 封裝所提供的支援。 下列 DTS 功能已停用:

  • DTS 執行階段

  • DTS API

  • 可將 DTS 封裝移轉到下一版 Integration Services 的封裝移轉精靈

  • SQL Server Management Studio 中對於 DTS 封裝維護的支援

  • 執行 DTS 2000 封裝工作

  • DTS 封包的 Upgrade Advisor 掃描。

下列選項可用於移轉 DTS 封裝。

  • 將封裝移轉到 SQL Server 2005 Integration Services (SSIS) 或 SQL Server 2008 Integration Services (SSIS),然後再將封裝升級到 SQL Server 2012 Integration Services (SSIS)。

    如需有關將 DTS 封裝移轉到 SQL Server 2005 Integration Services (SSIS) 和 SQL Server 2008 Integration Services (SSIS) 的詳細資訊,請參閱<移轉 Data Transformation Services 封裝>(2005) 和<移轉 Data Transformation Services 封裝>(2008)。

  • 使用 SQL Server 2012 Integration Services (SSIS) 重新建立 DTS 封裝。

    如需有關 SQL Server 2012 Integration Services (SSIS) 新功能的詳細資訊,請參閱<新功能 (Integration Services)>。 如需 Integration Services 封裝之結構的概觀,請參閱<Integration Services (SSIS) 封裝>。

選取升級方法

您可以使用各種方法來升級 SQL Server 2005 和 SQL Server 2008 封裝。 對於其中某些方法而言,升級只是暫時性。 對於其他方法而言,升級則是永久性。 下表將描述每種方法以及升級是暫時性或永久性。

[!附註]

當您使用隨目前之 SQL Server 版本安裝的 dtexec 公用程式 (dtexec.exe) 執行 SQL Server 2005 或 SQL Server 2008 封裝時,暫時封裝升級將會拉長執行的時間。 所增加的封裝執行時間長短,取決於封裝的大小。 如要避免執行時間增加,建議您在執行前先升級封裝。

升級方法

升級的類型

使用隨目前之 SQL Server 版本安裝的 dtexec 公用程式 (dtexec.exe) 執行 SQL Server 2005 或 SQL Server 2008 封裝。

如需詳細資訊,請參閱<dtexec 公用程式>。

封裝升級是暫時性的。 針對 SQL Server 2005,指令碼移轉是暫時性的。

這些變更無法儲存。

在 SQL Server Data Tools (SSDT) 中,開啟 SQL Server 2005 或 SQL Server 2008 封裝檔案。

如果您儲存了封裝,封裝升級就是永久性。不過,如果您沒有儲存封裝,封裝升級就是暫時性。

針對 SQL Server 2005 封裝,如果您儲存了封裝,指令碼移轉就是永久性。不過,如果您沒有儲存封裝,指令碼移轉就是暫時性。

在 SQL Server Data Tools (SSDT) 的現有專案中加入 SQL Server 2005 或 SQL Server 2008 封裝。

封裝升級是永久性的。 針對 SQL Server 2005 封裝,指令碼移轉是永久性的。

開啟 Visual Studio 中的 SQL Server 2005 Integration Services (SSIS) 或 SQL Server 2008 Integration Services (SSIS) 專案檔案,然後使用 [SSIS 封裝升級精靈] 升級專案中的多個封裝。

如需詳細資訊,請參閱<使用 SSIS 封裝升級精靈來升級 Integration Services 封裝>和<SSIS 封裝升級精靈 F1 說明>。

封裝升級是永久性的。 針對 SQL Server 2005 封裝,指令碼移轉是永久性的。

使用 Upgrade 方法來升級一個或多個 Integration Services 封裝。

封裝升級是永久性的。 針對 SQL Server 2005 封裝,指令碼移轉是永久性的。

自訂應用程式和自訂元件

SQL Server 2005 Integration Services (SSIS) 自訂元件無法搭配目前的 SQL Server Integration Services 版本使用。

您可以使用目前的 SQL Server Integration Services 版本工具執行及管理內含 SQL Server 2008 和 SQL Server 2008 R2 SSIS 自訂元件的封裝。 我們在下列檔案中加入四個繫結重新導向規則,協助將執行階段元件從 10.0.0.0 版 (SQL Server 2008 R2) 重新導向至 11.0.0.0 版 (SQL Server 2012)。

  • DTExec.exe.config

  • dtshost.exe.config

  • DTSWizard.exe.config

  • DTUtil.exe.config

  • DTExecUI.exe.config

若要使用 SQL Server Data Tools 設計包含 SQL Server 2008 和 SQL Server 2008 R2 自訂元件的套件,您需要修改位於下列位置上的 devenv.exe.config 檔案:<磁碟機>:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE。

如果要使用這些封裝搭配 SQL Server 2012 版本執行階段所建置的應用程式,必須在可執行檔的 *.exe.config 檔案的組態區段中包含重新導向規則。 規則會將執行階段組件重新導向至 11.0.0.0 版 (SQL Server 2012)。 如需有關組件版本重新導向的詳細資訊,請參閱<<runtime> 的 <assemblyBinding> 元素>。

尋找組件

在 SQL Server 2012 中,Integration Services 組件已經升級至 .NET 4.0。 .NET 4 有個別的全域組件快取,位於 <磁碟機>:\Windows\Microsoft.NET\assembly。 您可以在此路徑底下 (通常在 GAC_MSIL 資料夾中) 找到所有 Integration Services 組件。

如同舊版 SQL Server,核心 Integration Services 延伸模組 .dll 檔案也位於 <磁碟機>:\Program Files\Microsoft SQL Server\100\SDK\Assemblies。

了解 SQL Server 封裝升級結果

升級封裝期間,SQL Server 2005 及 SQL Server 2008 封裝中的大多數元件及功能皆會順利地轉換成目前 SQL Server 版本的對應項目。 不過,其中有許多元件和功能不會升級,或者具有您應該注意的升級結果。 下表將識別這些元件和功能。

[!附註]

若要識別哪些封裝具有下表所列的問題,請執行 Upgrade Advisor。 如需詳細資訊,請參閱<使用 Upgrade Advisor 來準備升級>。

元件或功能

升級結果

連接字串

對於 SQL Server 2005 及 SQL Server 2008 封裝,某些提供者的名稱已有所變更,需要在連接字串中使用不同的值。

若要更新連接字串,請使用下列其中一個程序:

  • 使用 SSIS 封裝升級精靈來升級封裝,然後選取 [更新連接字串以使用新的提供者名稱] 選項。

  • 在 SQL Server Data Tools (SSDT) [選項] 對話方塊的 [一般] 頁面上,選取 [更新連接字串以使用新的提供者名稱] 選項。 如需有關這個選項的詳細資訊,請參閱<一般頁面>。

  • 在 SQL Server Data Tools (SSDT) 中,開啟封裝並手動變更 ConnectionString 屬性的文字。

[!附註]

當連接字串儲存在組態檔或資料來源檔案中,或者運算式設定 ConnectionString 屬性時,您無法使用先前的程序更新連接字串。 在這些情況下,若要更新連接字串,您必須手動更新檔案或運算式。

如需有關資料來源的詳細資訊,請參閱<資料來源>。

查閱轉換

對於 SQL Server 2005 封裝,升級程序會自動將查閱轉換升級為目前的 SQL Server Integration Services 版本。 但目前版本中的此元件另有一些功能可以供您使用。

如需詳細資訊,請參閱<查閱轉換>。

指令碼工作和指令碼元件

針對 SQL Server 2005 封裝,升級程序會自動將指令碼工作和指令碼元件中的指令碼,從 VSA 移轉到 VSTA。

如需有關您可能必須在移轉之前對指令碼進行的變更以及指令碼轉換失敗的詳細資訊,請參閱<將指令碼移轉到 VSTA>。

以 ADODB.dll 為基礎的指令碼

明確參考 ADODB.dll 的指令碼工作和指令碼元件指令碼可能無法升級,或是在未安裝 SQL Server Management Studio 或 SQL Server Data Tools (SSDT) 的電腦上執行。 為了升級這些指令碼工作或指令碼元件指令碼,建議您移除 ADODB.dll 的相依性,並且使用 Ado.Net 做為 Managed 程式碼 (例如 VB 和 C# 指令碼) 的替代。

外部資源