設定備份 BizTalk Server 作業
安裝並設定BizTalk Server之後,請設定備份BizTalk Server作業來備份您的資料。
從 BizTalk Server 2016 Feature Pack 2 開始,您可以將資料庫和記錄檔備份至 Azure Blob 儲存體帳戶。
概觀
備份BizTalk Server (BizTalkMgmtDb) 作業包含下列步驟:
步驟 1 – 設定壓縮選項:在備份期間啟用或停用壓縮
步驟 2 – BackupFull:執行BizTalk Server資料庫的完整資料庫備份
步驟 3 – MarkAndBackUpLog:備份BizTalk Server資料庫記錄
步驟 4 – 清除備份歷程記錄:選擇保留備份歷程記錄的時間長度
若要設定此作業,您必須:
識別主要和目的地 SQL Server 和其他備份選項
選擇 Windows 使用者帳戶來備份資料庫,並為此帳戶建立SQL Server登入
將 SQL Server 登入對應至 BizTalk Server 資料庫中的 BTS_BACKUP_USERS 資料庫角色
確定所有節點上的 MSDTC 服務都在作用中。 否則,在來源節點與目的地節點之間新增連結的伺服器會失敗。
開始之前
某些設定和備份作業需要系統管理員SQL Server角色的成員資格。 若要備份您的BizTalk Server資料庫,請使用屬於 SQL Server 系統管理員伺服器角色成員的帳戶登入主伺服器。 BizTalk Server組態會新增BTS_BACKUP_USERS資料庫角色。 您用來備份資料庫的使用者帳戶不需要系統管理員 (系統管理員SQL Server角色) 可能涉及備份的所有 SQL Server,但主伺服器除外。
決定您用來執行BizTalk Server資料庫備份的登入帳戶。 您可以使用本機帳戶,而且可以使用多個帳戶。 但建立一個專用的 Windows 網域使用者帳戶,通常較為簡單且更安全,特別基於此目的。 您必須為此使用者設定 SQL Server 登入帳戶,而且此使用者必須對應到所有參與備份程序的主要 (來源) 或次要 (目的地) SQL Server 的 SQL Server 登入。 針對您備份的每個BizTalk Server資料庫,將此使用者指派給 BizTalk BTS_BACKUP_USERS資料庫角色。
備份 BizTalk Server 作業不會刪除過期的備份檔案,所以您必須手動管理那些備份檔案以回收磁碟空間。 在為資料庫建立新的完整備份後,您應該將過期的備份檔案移動到封存儲存裝置以回收主要磁碟上的空間。 請參閱 SSIS 套件 來管理這些檔案。
BizTalk Server不會將追蹤資料直接寫入 BizTalk 追蹤資料庫;而是會快取 MessageBox 資料庫中的資料,然後將它移至 BizTalk 追蹤資料庫。 如果發生 MessageBox 資料遺失,可能會遺失部分追蹤資料。
必要條件
使用系統管理員SQL Server角色成員的帳戶登入SQL Server。
您必須將 SQL Server Agent 服務設定成以網域帳戶執行 (雖然可以使用本機帳戶,但建議採用此方式),並為每個 SQL Server 執行個體上設定一個對應的使用者登入。
若要使用 Azure Blob 儲存體帳戶,您需要一 般用途的儲存體帳戶、Blob 儲存體帳戶內的容器、共用 存取簽 章 (SAS) ,以及 使用 SAS 的 SQL 認證。 建立之後,請備妥 Blob 服務端點 URL,其類似 HTTPs:// yourstorageaccount.blob.core.windows.net/containername。
提示
如果您沒有使用 SAS 設定現有的 Blob 儲存體帳戶, 則 SAS PowerShell 腳本 可以建立它和容器。 SQL Server備份至 URL提供概觀和特定步驟。
設定作業
在裝載 BizTalk 管理資料庫的SQL Server上,開啟SQL Server Management Studio,然後連線到您的SQL Server。
展開[SQL Server Agent],然後展開 [作業]。
在 [備份 BizTalk Server (BizTalkMgmtDb)] 上按一下滑鼠右鍵,然後選取 [屬性] 。 在作業屬性中,選取 [步驟] 。
選取 [設定壓縮選項] 步驟,然後選取 [編輯]:
此步驟會
sp_SetBackupCompression
呼叫 BizTalk 管理資料庫中的預存程式, (BizTalkMgmtDb) 來設定資料表上的adm_BackupSettings
值。 預存程式有一個參數: @bCompression。 根據預設,它會設定為 0 , (備份壓縮會關閉) 。 若要套用壓縮,請將值變更為 1:exec [dbo].[sp_SetBackupCompression] @bCompression = 1 /*0 - Do not use Compression, 1 - Use Compression */
選取 [確定]。
選取 BackupFull 步驟,然後選取 [編輯]。 在 [ 命令 ] 方塊中,更新參數值:
頻率: 預設值為每日 () ;這是建議的設定。 其他值包括 h (每小時)、 w (每週)、 m (每月)、或 y (每年)。
名稱:預設值是 [BTS]。 這個名稱會用來做為備份檔案名稱的一部分。
備份檔案的位置:將 「< 目的地路徑 >」取代為完整路徑, (路徑必須包含) 至您要備份BizTalk Server資料庫的電腦和資料夾,或 Azure Blob 儲存體帳戶的 Blob 服務端點 URL 的單引號。
重要
如果您輸入本機路徑,則每當備份BizTalk Server作業建立新檔案時,都必須手動將所有檔案複製到目的地系統上的相同資料夾。
若要使用遠端路徑,請輸入 UNC 共用,例如 \\< ServerName >\< SharedDrive >\,其中< ServerName >是您想要檔案的伺服器名稱,而< SharedDrive >是共用磁片磁碟機或資料夾的名稱。
透過網路備份資料可能會因為網路問題而受限。 使用遠端位置時,請確認備份在備份BizTalk Server作業完成時成功。
若要避免資料遺失,請將備份磁碟設定為資料庫資料與記錄磁碟以外的其他磁碟。 此做法可確保您在資料或記錄磁碟故障時存取備份。
備份至 Azure Blob 帳戶時,請輸入Blob 服務端點URL 和容器名稱,這些名稱會列在Azure 入口網站中的 Blob 服務屬性中。
選擇性。 在部份備份失敗之後強制完整備份 (@ForceFullBackupAfterPartialSetFailure) :預設值為 0。 如果記錄備份失敗,在達到下一個完整備份頻率間隔之前,不會執行完整備份。 如果您想要在發生記錄備份失敗時執行完整備份,請將 取代為 1 。
選擇性。 備份程式要執行的當地時間小時 (@BackupHour) :預設值為 Null。 備份作業不會與BizTalk Server電腦的時區相關聯,而且會在 UTC 時間午夜 (0000) 執行。 如果您想要在BizTalk Server電腦的時區的特定小時備份,請輸入介於 0 (午夜) 到下午 23 (11 點) 為當地時間小時的整數值。
選擇性。 使用當地時間 (@UseLocalTime) :告知程式使用當地時間。 預設值為 0,並使用目前的 UTC 時間 – GETUTCDATE () – 2007-05-04 01:34:11.933。 如果設定為 1,則會使用當地時間 – GETDATE () – 2007-05-03 18:34:11.933
在下列範例中,每日備份會在上午 2 點建立,並儲存在 m:\ 磁片磁碟機中:
exec [dbo].[sp_BackupAllFull_Schedule] 'd' /* Frequency */, 'BTS' /* Name */, 'm:\BizTalkBackups' /* location of backup files */, '0' /* 0 (default) or 1 ForceFullBackupAfterPartialSetFailure */, '2' /* local time hour for the backup process to run */
在下列範例中,每週備份會在午夜 UTC 時間建立,並儲存在您的 Azure Blob 帳戶中:
exec [dbo].[sp_BackupAllFull_Schedule] 'w' /* Frequency */, 'BTS' /* Name */, 'http://yourstorageaccount.blob.core.windows.net/yourcontainer/' /* location of backup files */, '1' /* 0 (default) or 1 ForceFullBackupAfterPartialSetFailure */
選取 [確定]。
選取 MarkAndBackupLog 步驟,然後選取 [ 編輯]。 在 [ 命令 ] 方塊中,更新參數值:
@MarkName:這是備份檔案的命名慣例的一部分: < 伺服器名稱 > _ < 資料庫名稱 >_Log_< 記錄標記名稱 > _ < Timestamp>
@BackupPath:完整目的地路徑 (包括電腦和資料夾的單引號) ,以儲存BizTalk Server資料庫記錄,或 Azure Blob 儲存體帳戶和容器。 目的地 < 路徑 >也可以是本機或另一部伺服器的 UNC 路徑。
MarkAndBackupLog 步驟會標記要備份的記錄檔,然後加以備份。
重要
若要避免潛在的資料遺失和效能改善,< 目的地路徑 >應設定為不同的電腦或硬碟,與用來儲存原始資料庫記錄的專案不同。
選取 [確定]。
選取 [清除備份歷程記錄 ] 步驟,然後選取 [ 編輯]。 在 [ 命令 ] 方塊中,更新參數值:
@DaysToKeep:預設值為 14 天。 決定備份記錄保留在資料表中的
Adm_BackupHistory
時間長度。 定期清除備份歷程記錄有助於將資料表維護Adm_BackupHistory
為適當的大小。選擇性。 @UseLocalTime:告知程式使用當地時間。 預設值為 0。 它會使用目前的 UTC 時間 – GETUTCDATE () – 2007-05-04 01:34:11.933。 如果設定為 1,則會使用當地時間 – GETDATE () – 2007-05-03 18:34:11.933
exec [dbo].[sp_DeleteBackupHistory] @DaysToKeep=14, @UseLocalTime =1
注意
此步驟 不會 從目的地路徑中刪除備份檔案。
選取 [確定] ,然後關閉所有的屬性視窗。
選擇性。 變更備份排程。 請參閱如何排程備份BizTalk Server作業。
注意
「備份 BizTalk Server」作業會在您第一次設定時執行。 根據預設,在後續執行時,備份BizTalk Server作業每天完成一次完整備份,並每隔 15 分鐘完成記錄備份。
以滑鼠右鍵按一下[備份BizTalk Server作業],然後選取 [啟用]。 狀態應該變更為 成功。
執行 Backup_Setup_All_Procs.sql 和 LogShipping_Destination_Logic.sql
BizTalk Server 2016 Feature Pack 2 (FP2) 在 中使用 \Program Files (x86)\Microsoft BizTalk Server *your version*\Schema
Backup_Setup_All_Procs.sql 和 LogShipping_Destination_Logic.sql 腳本。
如果您的備份BizTalk Server作業已設定,而且您想要切換至使用 Azure Blob (而不是磁片) ,則也請執行下列動作:
在SQL Server上,針對備份BizTalk Server作業所備份的所有自訂資料庫執行
Backup_Setup_All_Procs.sql
腳本。 根據預設,FP2 會自動更新 BizTalk 資料庫;它不會更新 BizTalkMgmtDb) 資料表中adm_OtherBackupDatabases
這些資料庫的任何自訂資料庫 (。備份自訂資料庫 提供有關自訂資料庫的詳細資料。
如果您使用記錄傳送,請在目的地系統上執行SQL Server內的 LogShipping_Destination_Logic.sql 腳本。 如果您沒有使用記錄傳送,則請勿執行此腳本。
設定記錄傳送的目的地系統 提供有關目的地系統的詳細資料。
sp_ForceFullBackup 預存程序
BizTalkMgmtDb資料庫中的sp_ForceFullBackup預存程式可用來執行資料和記錄檔的特定完整備份。 此預存程序會以值 1 更新 adm_ForceFullBackup 資料表。 下次執行備份BizTalk Server作業時,就會建立完整的資料庫備份組。
後續步驟
設定記錄傳送的目的系統
排程備份 BizTalk Server 作業
Azure 儲存體帳戶
SQL Server 備份至 URL