升級 Integration Services 的考量

如果您的電腦上目前有安裝 SQL Server 2005Integration Services,您可以升級到 SQL Server 2008Integration Services。

[!附註]

如果您想要從 SQL Server 2000 Data Transformation Services (DTS) 升級到 SQL Server 2008Integration Services,請參閱<升級 Data Transformation Services 的考量>。

在升級 Integration Services 之前

我們建議您在升級到 SQL Server 2008 之前,最好先執行 Upgrade Advisor。Upgrade Advisor 會報告當您將現有的 Integration Services 封裝移轉至 SQL Server 2008 所使用的新封裝格式時可能會遇到的問題。如需詳細資訊,請參閱<使用 Upgrade Advisor 來準備升級>。

升級 Integration Services

您可以使用以下其中一個方法來升級:

  • 執行 SQL Server 2008 安裝程式,並選取 [從 SQL Server 2000 或 SQL Server 2005 升級] 的選項。

  • 在命令提示字元上執行 setup.exe,並指定 /ACTION=upgrade 選項。如需詳細資訊,請參閱<如何:從命令提示字元安裝 SQL Server 2008>中的「Integration Services 的安裝指令碼」一節。

您無法使用升級作業來執行下列動作:

  • 重新設定現有的 Integration Services 安裝。

  • 從 32 位元移到 64 位元版本的 SQL Server 或是從 64 位元版本移到 32 位元版本。

  • 將某個當地語系化的 SQL Server 版本移到另一個當地語系化的版本。

當您升級時,可以同時升級 Integration Services 和 Database Engine,或是只升級 Database Engine 或 Integration Services。如果您只升級 Database Engine,雖然 SQL Server 2005Integration Services 仍然可運作,但是您將沒有 SQL Server 2008Integration Services 的功能。如果您只升級 Integration Services,雖然 SQL Server 2008Integration Services 可完整運作,但是除非另一部電腦提供了 SQL Server 2008SQL Server Database Engine 的執行個體,否則就只能將封裝儲存在檔案系統中。

將 Integration Services 和 Database Engine 都升級到 SQL Server 2008

本章節描述執行具有以下準則之升級的作用:

  • 您同時將 Integration Services 和 Database Engine 的執行個體升級到 SQL Server 2008。

  • Integration Services 和 Database Engine 的執行個體位於相同的電腦上。

升級程序執行的工作

升級程序會執行以下工作:

  • 升級 Integration Services 檔案、服務和工具 (Management Studio 和 BI Development Studio)。當相同的電腦上有多個 SQL Server 2005 執行個體時,此升級會發生於升級第一個 Database Engine 執行個體時。

  • 在升級程序完成之後移除 SQL Server 2005Integration Services 檔案、服務和工具。

  • 將 SQL Server 2005 Database Engine 的執行個體升級到 SQL Server 2008 版本。

  • 將資料從 SQL Server 2005 Integration Services (SSIS) 系統資料表移到 SQL Server 2008Integration Services 系統資料表,如下所示:

    • 將封裝從 msdb.dbo.sysdtspackages90 系統資料表移到 msdb.dbo.sysssispackages 系統資料表,而不變更封裝。

      [!附註]

      雖然資料會移到不同的系統資料表,但是升級程序並不會將封裝移轉至新的格式。

    • 將資料夾中繼資料從 msdb.sysdtsfolders90 系統資料表移到 msdb.sysssispackagefolders 系統資料表。

    • 將記錄資料從 msdb.sysdtslog90 系統資料表移到 msdb.sysssislog 系統資料表。

  • 將資料移到新的 msdb.sysssis* 資料表之後,移除 msdb.sysdts*90 系統資料表以及用於存取這些資料表的預存程序。不過,升級會將 sysdtslog90 資料表取代成也名為 sysdtslog90 的檢視表。這個新的 sysdtslog90 檢視表會公開新的 msdb.sysssislog 系統資料表。這樣可確保以記錄資料表為基礎的報表會繼續執行而不中斷。

  • 為了控制封裝的存取權,建立三個新的固定資料庫層級角色:db_ssisadmin、db_ssisltduser 和 db_ssisoperator。雖然不會移除 db_dtsadmin、db_dtsltduser 和 db_dtsoperator 的 SQL Server 2005Integration Services 角色,但是它們會成為對應新角色的成員。

  • 如果 SSIS 封裝存放區 (也就是 Integration Services 服務所管理的檔案系統位置) 是 \SQL Server\90 底下的預設位置,則將這些封裝移到 \SQL Server\100 底下的新預設位置。

  • 將 Integration Services 服務組態檔更新為指向升級的 Database Engine 執行個體。

升級程序不會執行的工作

升級程序不會執行以下工作:

  • 不會將現有的 Integration Services 封裝移轉至 SQL Server 2008 所使用的新封裝格式。如需有關如何移轉封裝的詳細資訊,請參閱<升級 Integration Services 封裝>。

  • 不會移動已經加入至服務組態檔之檔案系統位置 (預設位置除外) 中的封裝。如果您先前已經編輯了系統組態檔以加入其他檔案系統資料夾,儲存在這些資料夾中的封裝將不會移至新的位置。

  • 在直接呼叫 dtexec 公用程式 (dtexec.exe) 的 SQL Server Agent 作業步驟中,不會更新 dtexec 公用程式的檔案系統路徑。您必須手動編輯這些作業步驟來更新檔案系統路徑,以便指定 dtexec 公用程式的 SQL Server 2008 位置。

升級之後可以執行的工作

當升級程序完成之後,您可以執行以下工作:

  • 執行可執行封裝的 SQL Server Agent 作業。

  • 使用 Management Studio 來管理儲存於 SQL Server 2005 執行個體中的 Integration Services 封裝。但是,您可能必須修改服務組態檔,才能將 SQL Server 2005 執行個體加入到此服務所管理的位置清單。

  • 檢查 packageformat 資料行中的值,以識別 msdb.dbo.sysssispackages 系統資料表中的封裝版本。此資料表有一個 packageformat 資料行可識別每一個封裝的版本。packageformat 資料行中的值 2 表示 SQL Server 2005Integration Services 封裝,而值 3 則表示 SQL Server 2008Integration Services 封裝。在您將封裝移轉至新的封裝格式之前,SQL Server 2005Integration Services 封裝在 packageformat 資料行中會有值 2。

  • 您無法使用 SQL Server 2005 工具設計、執行或管理 Integration Services 封裝。SQL Server 2005 工具包含 Business Intelligence Development Studio 的 SQL Server 2005 版本、SQL Server 匯入和匯出精靈,以及封裝執行公用程式 (dtexecui.exe)。升級程序並不會移除 SQL Server 2005 工具。不過,您無法在已經升級的伺服器上使用這些工具來繼續使用 SQL Server 2005Integration Services 封裝。

  • 依預設,在升級安裝中,Integration Services 會設定為將與封裝執行相關的事件記錄至應用程式事件記錄檔。當您使用 SQL Server 2008 的資料收集器功能時,這個設定可能會產生過多的事件記錄項目。記錄的事件包括 EventID 12288 "封裝已啟動" 和 EventID 12289 "封裝已成功完成"。若要停止將這兩個事件記錄到應用程式事件記錄檔,請開啟登錄進行編輯。在登錄中找出 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\100\SSIS 節點,然後將 LogPackageExecutionToEventLog 設定的 DWORD 値從 1 變更為 0。

只將 Database Engine 升級到 SQL Server 2008

本章節描述執行具有以下準則之升級的作用:

  • 您只要升級 Database Engine 的執行個體。也就是說,Database Engine 的執行個體現在是 SQL Server 2008 的執行個體,但是 Integration Services 的執行個體和用戶端工具是來自 SQL Server 2005。

  • Database Engine 的執行個體位於一部電腦上,而 SQL Server 2005Integration Services 和用戶端工具則位於另一部電腦上。

升級之後可以執行的工作

將封裝儲存於已升級之 Database Engine 執行個體中的系統資料表,與 SQL Server 2005 中所用的系統資料表不同。因此,SQL Server 2005 版的 Management Studio 和 BI Development Studio 無法在已升級之 Database Engine 執行個體上的系統資料表內找到封裝。由於找不到這些封裝,所以可以對這些封裝處理的動作也會受到限制:

  • 您無法使用其他電腦上的 SQL Server 2005 工具 (Management Studio 和 BI Development Studio),從已升級的 Database Engine 執行個體載入或管理封裝。

    [!附註]

    雖然已升級之 Database Engine 執行個體中的封裝尚未移轉成新的封裝格式,但是 SQL Server 2005 工具還是無法找到這些封裝。因此,SQL Server 2005 工具無法使用這些封裝。

  • 您無法使用其他電腦上的 SQL Server 2005 Integration Services (SSIS) 來執行已升級之 Database Engine 執行個體上的 msdb 內所儲存的封裝。

  • 您無法使用 SQL Server 2005 電腦上的 SQL Server Agent 作業來執行已升級之 Database Engine 執行個體中所儲存的 SQL Server 2005Integration Services 封裝。