升級 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 封裝。