升級 Integration Services
如果 SQL Server 2005 Integration Services (SSIS) 或 SQL Server 2008 Integration Services (SSIS) 目前安裝在您的電腦上,您可以升級至 SQL Server 2014 Integration Services (SSIS) 。
當您升級至已安裝其中一個舊版 Integration Services 的電腦上,SQL Server 2014 Integration Services (SSIS) 時,SQL Server 2014 Integration Services (SSIS) 與舊版並存安裝。
有多個版本的 dtexec 公用程式會隨著這個並行安裝一併安裝。 為確保您執行正確的公用程式版本,請在命令提示字元中輸入完整路徑 (<磁碟機>:\Program Files\Microsoft SQL Server\<版本>\DTS\Binn) 來執行公用程式。 如需有關 dtexec 的詳細資訊,請參閱< dtexec Utility>。
注意
在舊版SQL Server中,當您安裝SQL Server Users 群組中的所有使用者,預設都可以存取 Integration Services 服務。 當您安裝 SQL Server 2014 時,使用者無法存取 Integration Services 服務。 因此,服務預設是安全的。 安裝 SQL Server 2014 之後,SQL Server系統管理員必須執行 DCOM 組態工具 (Dcomcnfg.exe) ,才能將 Integration Services 服務的存取權授與特定使用者。 如需詳細資訊,請參閱 Grant Permissions to Integration Services Service。
在升級 Integration Services 之前
建議您先執行 Upgrade Advisor,再升級至 SQL Server 2014。 Upgrade Advisor 會回報如果您將現有的 Integration Services 套件移轉至 SQL Server 2014 使用的新套件格式時,可能會遇到的問題。 如需詳細資訊,請參閱< Use Upgrade Advisor to Prepare for Upgrades>。
注意
目前版本的 SQL ServerIntegration Services 已停止移轉或執行資料轉換服務 (DTS) 套件。 下列 DTS 功能已停用:
- DTS 執行階段
- DTS API
- 「封裝移轉精靈」可將 DTS 封裝移轉到下一版的 Integration Services
- 支援 SQL Server Management Studio 中的 DTS 封裝維護
- 執行 DTS 2000 封裝工作
- DTS 封包的 Upgrade Advisor 掃描。
如需其他已停止功能的資訊,請參閱SQL Server 2014 中已停止的 Integration Services 功能。
升級 Integration Services
您可以使用以下其中一個方法來升級:
執行 SQL Server 2014 安裝程式,然後選取從SQL Server 2005 升級、SQL Server 2008 或 SQL Server 2008 R2或SQL Server 2012的選項。
在命令提示字元執行 setup.exe ,並指定
/ACTION=upgrade
選項。 For more information, see the section, "Installation Scripts for Integration Services," in Install SQL Server 2014 from the Command Prompt.
您無法使用升級作業來執行下列動作:
重新設定現有的 Integration Services 安裝。
從 32 位元移到 64 位元版本的 SQL Server 或是從 64 位元版本移到 32 位元版本。
將某個當地語系化的 SQL Server 版本移到另一個當地語系化的版本。
當您升級時,可以升級 Integration Services 和資料庫引擎,或者只升級資料庫引擎或只升級 Integration Services。 如果您只升級 Database Engine,SQL Server 2005 Integration Services (SSIS) 或 SQL Server 2008 Integration Services (SSIS) 仍可運作,但您沒有 SQL Server 2014 Integration Services (SSIS) 的功能。 如果您只升級 Integration Services,SQL Server 2014 Integration Services (SSIS) 功能完整,但只能在檔案系統中儲存套件,除非在另一部電腦上提供 SQL Server 2014 Database Engine 的實例。
將 Integration Services 和 Database Engine 升級至 SQL Server 2014
本章節描述執行具有以下準則之升級的作用:
您可以將 Integration Services 和 Database Engine 的實例升級為 SQL Server 2014。
Integration Services 和資料庫引擎的執行個體在相同的電腦上。
升級程序執行的工作
升級程序會執行以下工作:
安裝 SQL Server 2014 Integration Services (SSIS) 檔案、服務和工具 (Management Studio 和 SQL Server Data Tools) 。 在同一部電腦上有多個 SQL Server 2005 或 SQL Server 2008 實例時,第一次將任何實例升級至 SQL Server 2014 時,SQL Server 2014 Integration Services (SSIS) 檔案、服務和工具。
將 SQL Server 2005 或 SQL Server 2008Database Engine 的實例升級至 SQL Server 2014 版本。
將資料從 SQL Server 2005 Integration Services (SSIS) 或 SQL Server 2008 Integration Services (SSIS) 系統資料表移至 SQL Server 2014 Integration Services (SSIS) 系統資料表,如下所示:
將封裝從 msdb.dbo.sysdtspackages90 系統資料表移到 msdb.dbo.sysssispackages 系統資料表,而不變更封裝。
注意
雖然資料會移到不同的系統資料表,但是升級程序並不會將封裝移轉至新的格式。
將資料夾中繼資料從 msdb.sysdtsfolders90 系統資料表移到 msdb.sysssisfolders 系統資料表。
將記錄資料從 msdb.sysdtslog90 系統資料表移到 msdb.sysssislog 系統資料表。
將資料移到新的 msdb.sysssis* 資料表之後,移除 msdb.sysdts*90 系統資料表以及用於存取這些資料表的預存程序。 不過,升級會將 sysdtslog90 資料表取代成也名為 sysdtslog90 的檢視表。 這個新的 sysdtslog90 檢視表會公開新的 msdb.sysssislog 系統資料表。 這樣可確保以記錄資料表為基礎的報表會繼續執行而不中斷。
為了控制封裝的存取權,建立三個新的固定資料庫層級角色:db_ssisadmin、db_ssisltduser 和 db_ssisoperator。 SQL Server 2005Integration Services 角色db_dtsadmin、db_dtsltduser和db_dtsoperator不會移除,但會成為對應新角色的成員。
如果 SSIS 套件存放區 (,Integration Services 服務所管理的檔案系統位置) 是\SQL Server\90、\SQL Server\100或\SQL Server\110下的預設位置,會將這些套件移至\SQL Server\120下的新預設位置。
將 Integration Services 服務組態檔更新為指向升級的資料庫引擎執行個體。
升級程序不會執行的工作
升級程序不會執行以下工作:
不會移除 SQL Server 2005 Integration Services (SSIS) 或 SQL Server 2008 Integration Services (SSIS) 服務。
不會將現有的 Integration Services 套件移轉至 SQL Server 2014 使用的新套件格式。 如需如何移轉封裝的相關資訊,請參閱 升級 Integration Services 封裝。
不會移動已經加入至服務組態檔之檔案系統位置 (預設位置除外) 中的封裝。 如果您先前已經編輯了系統組態檔以加入其他檔案系統資料夾,儲存在這些資料夾中的封裝將不會移至新的位置。
在直接呼叫 dtexec 公用程式 (dtexec.exe) 的 SQL Server Agent 作業步驟中,不會更新 dtexec 公用程式的檔案系統路徑。 您必須手動編輯這些作業步驟,以更新檔案系統路徑,以指定dtexec公用程式的 SQL Server 2014 位置。
升級之後可以執行的工作
當升級程序完成之後,您可以執行以下工作:
執行可執行封裝的 SQL Server Agent 作業。
使用 Management Studio 來管理儲存在 SQL Server 2008 或 SQL Server 2014 實例中的 Integration Services 套件。 您必須修改服務組態檔,將 SQL Server 2008 實例新增至服務所管理的位置清單。
注意
舊版 Management Studio 無法連線到 SQL Server 2014 Integration Services (SSIS) 服務。
檢查 packageformat 資料行中的值,以識別 msdb.dbo.sysssispackages 系統資料表中的封裝版本。 此資料表有一個 packageformat 資料行可識別每一個封裝的版本。 packageformat 資料行中的值為 2 表示 SQL Server 2005 Integration Services (SSIS) 套件;值為 3 表示 SQL Server 2008 Integration Services (SSIS) 套件。 在您將封裝移轉至新的封裝格式之前,packageformat 資料行中的值都不會變更。
您無法使用 SQL Server 2005 或 SQL Server 2008 工具來設計、執行或管理 Integration Services 套件。 SQL Server 2005 和 SQL Server 2008 工具組含個別版本的 SQL SERVER DATA TOOLS (SSDT) 、SQL Server匯入和匯出精靈,以及封裝執行公用程式 (dtexecui.exe) 。 升級程式不會移除 SQL Server 2005 或 SQL Server 2008tools。 不過,您將無法使用這些工具繼續使用 SQL Server 2005 Integration Services (SSIS) 或 SQL Server 2008 Integration Services (SSIS) 已升級之伺服器上的套件。
根據預設,在升級安裝中,Integration Services 會設定為將與封裝執行相關的事件記錄至應用程式事件記錄檔。 當您使用 SQL Server 2014 的資料收集器功能時,此設定可能會產生太多事件記錄檔專案。 記錄的事件包括 EventID 12288 (「封裝已啟動」) 和 EventID 12289 (「封裝成功完成」)。若要將這兩個事件停止記錄到應用程式事件記錄檔,請開啟登錄以進行編輯。 在登錄中找出 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\120\SSIS 節點,然後將 LogPackageExecutionToEventLog 設定的 DWORD 值從 1 變更為 0。
僅將 Database Engine 升級至 SQL Server 2014
本章節描述執行具有以下準則之升級的作用:
您只升級資料庫引擎的執行個體。 也就是說,Database Engine 的實例現在是 SQL Server 2014 的實例,但 Integration Services 和用戶端工具的實例來自 SQL Server 2005 或 SQL Server 2008。
資料庫引擎的執行個體位於某部電腦上,而 Integration Services 和用戶端工具則位於另一部電腦上。
升級之後可以執行的工作
儲存資料庫引擎升級實例中封裝的系統資料表,與 SQL Server 2005 或 SQL Server 2008 中使用的系統資料表不同。 因此,SQL Server 2005 或 SQL Server 2008 版 Management Studio 和 SQL Server Data Tools 無法探索 Database Engine 升級實例上系統資料表中的套件。 由於找不到這些封裝,所以可以對這些封裝處理的動作也會受到限制:
您無法在其他電腦上使用 SQL Server 2005 或 SQL Server 2008 工具 Management Studio 和 SQL Server Data Tools,從資料庫引擎升級的實例載入或管理套件。
注意
雖然 Database Engine 升級實例中的套件尚未移轉至新的套件格式,但無法由 SQL Server 2005 或 SQL Server 2008 工具探索這些套件。 因此,SQL Server 2005 或 SQL Server 2008 工具無法使用套件。
您無法在其他電腦上使用 SQL Server 2005 Integration Services (SSIS (SSIS) 或 SQL Server 2008 Integration Services (SSIS) ,以執行資料庫引擎升級實例上儲存在 msdb 中的套件。
您無法在 SQL Server 2005 或 SQL Server 2008 電腦上使用SQL Server Agent作業來執行 SQL Server 2005 Integration Services (SSIS) 或 SQL Server 2008 Integration Services (SSIS) 儲存在 Database Engine 升級實例中的套件。
外部資源
blogs.msdn.com 上的部落格文章: 在 Denali 中製作現有的自訂 SSIS 延伸模組和應用程式工作。