備份、 還原和移動的 SSIS 目錄
SQL Server 2014 Integration Services (SSIS) 包含 SSISDB 資料庫。 您可以查詢 SSISDB 資料庫中的檢視,以檢查物件、設定以及儲存在 [SSISDB] 目錄中的作業資料。 本主題提供備份與還原資料庫的指示。
SSISDB 目錄會儲存您已經部署到 Integration Services 伺服器的封裝。 如需目錄的詳細資訊,請參閱 SSIS 目錄。
若要備份 SSIS 資料庫
開啟 SQL Server Management Studio,然後連線到 SQL Server 的執行個體。
使用 BACKUP MASTER KEY Transact-SQL 陳述式,備份 SSISDB 資料庫的主要金鑰。 此金鑰儲存在您指定的檔案。 使用密碼來加密檔案中的主要金鑰密碼。
如需陳述式的詳細資訊,請參閱 BACKUP MASTER KEY (Transact-SQL)。
在下列範例中,主要金鑰是匯出至
c:\temp directory\RCTestInstKey
檔案。LS2Setup!
密碼是用來加密主要金鑰。backup master key to file = 'c:\temp\RCTestInstKey' encryption by password = 'LS2Setup!'
使用 SQL Server Management Studio 中的 [備份資料庫] 對話方塊備份 SSISDB 資料庫。 如需詳細資訊,請參閱如何:備份資料庫 (SQL Server Management Studio)。
執行下列操作,產生 ##MS_SSISServerCleanupJobLogin## 的 CREATE LOGIN 指令碼。 如需詳細資訊,請參閱 CREATE LOGIN (Transact-SQL)。
在 SQL Server Management Studio 的物件總管中,展開 [安全性] 節點,然後展開 [登入] 節點。
以滑鼠右鍵按一下 [##MS_SSISServerCleanupJobLogin##],然後按一下 [編寫登入的指令碼為]>[CREATE 至]>[新增查詢編輯器視窗]。
如果您要將 SSISDB 資料庫還原至從未建立 SSISDB 目錄的SQL Server實例,請執行下列動作,為sp_ssis_startup產生 CREATE PROCEDURE 腳本。 如需詳細資訊,請參閱 CREATE PROCEDURE (Transact-SQL)。
在 [物件總管] 中,展開 [資料庫]節點,然後展開 [系統資料庫>主要>可程式性>預存程式] 節點。
以滑鼠右鍵按一下 [dbo.sp_ssis_startup],然後按一下 [編寫預存程序的指令碼為]>[CREATE 至]>[新增查詢編輯器視窗]。
確認已啟動 SQL Server Agent
如果您要將 SSISDB 資料庫還原至從未建立 SSISDB 目錄的SQL Server實例,請執行下列動作來產生 SSIS 伺服器維護作業的腳本。 當您建立 SSISDB 目錄時,系統就會自動在 SQL Server Agent 中建立指令碼。 此作業有助於清除保留週期外部的清除作業,並移除舊版專案。
在物件總管中,展開 [SQL Server Agent] 節點,然後展開 [作業] 節點。
以滑鼠右鍵按一下 [SSIS 伺服器維護作業],然後按一下 [腳本作業為>CREATE To>New 查詢編輯器視窗]。
若要還原 SSIS 資料庫
如果您要將 SSISDB 資料庫還原至從未建立 SSISDB 目錄的SQL Server實例,請執行 sp_configure 預存程式,以啟用 Common Language Runtime (clr) 。 如需詳細資訊,請參閱 sp_configure (Transact-SQL) 和 CLR 已啟用選項。
use master sp_configure 'clr enabled', 1 reconfigure
如果您要將 SSISDB 資料庫還原至從未建立過 SSISDB 目錄的 SQL Server 執行個體,請建立非對稱金鑰並根據非對稱金鑰建立登入,並且將 UNSAFE 權限授與登入。
Create Asymmetric key MS_SQLEnableSystemAssemblyLoadingKey FROM Executable File = 'C:\Program Files\Microsoft SQL Server\110\DTS\Binn\Microsoft.SqlServer.IntegrationServices.Server.dll'
Integration Services CLR 預存程序需要授與 UNSAFE 權限給登入,因為登入需要對於限制資源的額外存取,例如 Microsoft Win32 API。 如需 UNSAFE 程式碼權限的詳細資訊,請參閱 建立組件。
Create Login MS_SQLEnableSystemAssemblyLoadingUser FROM Asymmetric key MS_SQLEnableSystemAssemblyLoadingKey Grant unsafe Assembly to MS_SQLEnableSystemAssemblyLoadingUser
使用 SQL Server Management Studio 中的 [還原資料庫] 對話方塊,從備份還原 SSISDB 資料庫。 如需詳細資訊,請參閱下列主題。
針對 ##MS_SSISServerCleanupJobLogin##、sp_ssis_startup 和 SSIS 伺服器維護作業,執行您在 備份 SSIS 資料庫 中所建立的指令碼。 確認已啟動 SQL Server Agent。
執行下列陳述式以設定 sp_ssis_startup 程序進行自動執行。 如需詳細資訊,請參閱 sp_procoption (Transact-SQL)。
EXEC sp_procoption N'sp_ssis_startup','startup','on'
使用 SQL Server Management Studio 中的 [登入屬性] 對話方塊,將 SSISDB 使用者 ##MS_SSISServerCleanupJobUser## (SSISDB 資料庫) 對應至 ##MS_SSISServerCleanupJobLogin##。
使用下列其中一種方法來還原主要金鑰。 如需加密的詳細資訊,請參閱 加密階層。
方法 1
如果您已經備份資料庫主要金鑰,而且您有用來加密主要金鑰的密碼,請使用此方法。
Restore master key from file = 'c:\temp\RCTestInstKey' Decryption by password = 'LS2Setup!' -- 'Password used to encrypt the master key during SSISDB backup' Encryption by password = 'LS3Setup!' -- 'New Password' Force
注意
確認 SQL Server 服務帳戶擁有讀取備份金鑰檔案的權限。
注意
如果服務主要金鑰尚未加密資料庫主要金鑰,您會看到SQL Server Management Studio中顯示的下列警告訊息。 忽略警告訊息。
無法解密目前的主要金鑰。 因為指定了 FORCE 選項,所以已忽略錯誤。
FORCE 引數會指定即使未開放目前的資料庫主要金鑰,也應該繼續還原程序。 若是 SSISDB 目錄,因為尚未在您要還原資料庫所在的執行個體上開放資料庫主要金鑰,因此您將會看到此訊息。
方法 2
如果您有建立 SSISDB 所使用的原始密碼,請使用此方法。
open master key decryption by password = 'LS1Setup!' --'Password used when creating SSISDB' Alter Master Key Add encryption by Service Master Key
執行 catalog.check_schema_version,以判斷 SSISDB 目錄結構描述與 Integration Services 二進位檔 (ISServerExec 和 SQLCLR 組件) 是否相容。
若要確認已成功還原 SSISDB 資料庫,請針對 SSISDB 目錄執行作業,例如執行已經部署到 Integration Services 伺服器的封裝。 如需詳細資訊,請參閱 使用 SQL Server Management Studio 在 SSIS 伺服器上執行封裝。
若要移動 SSIS 資料庫
遵循移動使用者資料庫的指示進行。 如需詳細資訊,請參閱 移動使用者資料庫。
確定您有備份 SSISDB 資料庫的主要金鑰並保護備份檔案。 如需詳細資訊,請參閱 備份 SSIS 資料庫。
確定 Integration Services (SSIS) 相關物件建立在尚未建立 SSISDB 目錄的新 SQL Server 執行個體中。