資料庫的高可用性
BizTalk Server高度依賴資料存放區和資料持續性的SQL Server。 在 BizTalk Server 中所有其他元件和主控件在整合不同的商業應用程式的程序中都有特定的角色 (例如,接收、處理或路由訊息),但是資料庫電腦會擷取此工作並將它保存到磁碟中。 例如,當BizTalk Server收到傳入訊息時,接收主機會在其他主機擷取訊息以進行協調流程處理和傳送之前,將它保存到 MessageBox 資料庫。 如果您的 BizTalk 解決方案牽涉到協調流程,BizTalk Server將訊息路由傳送至執行商務程式 (處理主機) 的主機,並在協調流程完成之後將訊息儲存至 MessageBox 資料庫。 傳送主控件接著會從資料庫擷取訊息,再透過適當的傳送配接器將它傳送到外部應用程式。
若要提供BizTalk Server資料庫的高可用性,請使用 Windows 叢集設定兩部或多部執行SQL Server的電腦來建立伺服器叢集。 此伺服器叢集可為BizTalk Server資料庫提供備援和容錯。 不像載入平衡叢集是以一組電腦一起運作以增加可用性和延展性,伺服器叢集通常包含兩個一組的主動/被動組態的資料庫電腦,如此,其中一部電腦即可為另一部電腦提供備份資源。
下圖顯示 BizTalk Server 資料庫層透過主動/被動伺服器叢集提供高可用性。
若主動資料庫電腦發生錯誤或失敗,則被動電腦會變成主動並掌控資料庫資源,直到失敗的電腦修復為止。 資料庫服務會容錯移轉並還原至新使用中電腦的資料連線,並讓 BizTalk 應用程式繼續運作。
BizTalk Server 資料庫
Microsoft BizTalk Server 會在 SQL Server 中安裝數個資料庫。 下表顯示BizTalk Server資料庫的一般使用特性。
資料庫 | 預設資料庫名稱 | 使用特性 |
---|---|---|
管理資料庫 | BizTalkMgmtDb | 此資料庫會處理低使用量讀取和寫入作業。 |
MessageBox 資料庫 | BizTalkMsgBoxDb | 此資料庫會處理高使用量讀取和寫入作業。 |
追蹤資料庫 | BizTalkDTADb | 此資料庫會根據您設定要追蹤的資料量,以及低使用量讀取作業,處理可能高使用量的寫入作業。 |
SSO 資料庫 | SSODB | 此資料庫會處理低使用量讀取和寫入作業。 |
BAM 分析資料庫 | BAMAnalysis | 此SQL Server Analysis Services資料庫會根據執行的監視層級,處理可能高使用量的讀取和寫入作業。 |
BAM 星狀結構描述資料庫 | BAMStarSchema | 此SQL Server Analysis Services資料庫會根據執行的監視層級,處理可能高使用量的讀取和寫入作業。 |
BAM 主要匯入資料庫 | BAMPrimaryImport | 此SQL Server Analysis Services資料庫會根據執行的監視層級,處理可能高使用量的讀取和寫入作業。 |
BAM 封存資料庫 | BAMArchive | 此SQL Server Analysis Services資料庫會根據執行的監視層級,處理可能高使用量的讀取和寫入作業。 |
規則引擎資料庫 | BizTalkRuleEngineDb | 除非您更新規則,否則此資料庫會處理可能低使用量的讀取和寫入作業。 |
追蹤 Analysis Services 資料庫 | BizTalkAnalysisDb | 此SQL Server Analysis Services資料庫會處理高使用量讀取和寫入作業。 |
BizTalk Server執行時間作業通常會使用管理 (資料庫、MessageBox 資料庫、追蹤資料庫和 SSO 資料庫) 的前四個資料庫。 視這些資料庫的流量而定,您可以將這些流量放在執行SQL Server的個別電腦上。 視您所使用的 BizTalk Server 功能而定,您可能有資料表中部分或全部的其他資料庫。 您可以視需要相應放大和叢集這些資料庫。
請確定您遵循良好的SQL Server部署做法,例如針對每個資料庫使用不同的磁片。
針對BizTalk Server資料庫,建議您執行下列動作:
設定容錯移轉叢集。 容錯移轉叢集可讓SQL Server自動將SQL Server實例的處理從失敗的伺服器切換至工作伺服器。
「BAM 主要匯入」資料庫收集事件資料。 在嚴重損毀的事件中,從上次備份寫入「BAM 主要匯入」資料庫中的資料會遺失。 因為無法重新產生遺失的事件,所以在 BAM 主要匯入資料庫上啟用容錯移轉叢集特別重要。
使用 SQL Server RAID 1+0 (獨立磁片的備援陣列) ,特別是針對 MessageBox 資料庫和 BAM 主要匯入資料庫。
如需備份BizTalk Server資料庫的相關資訊,請參閱災害復原的最佳做法。
注意
Microsoft SQL Server提供稱為資料庫鏡像的軟體解決方案,以增加資料庫可用的機率。 SQL Server資料庫鏡像的使用目前不是確保 Microsoft BizTalk Server 資料庫高可用性的支援解決方案,因為BizTalk Server資料庫中維護交易一致性的潛在問題。
如需SQL Server中資料庫鏡像和跨資料庫交易的詳細資訊,請參閱交易 - 可用性群組和資料庫鏡像。 BizTalk Server資料庫應該安裝在SQL Server叢集上,以確保應針對災害復原目的使用高可用性和記錄傳送。
如需記錄傳送的詳細資訊,請參閱什麼是BizTalk Server記錄傳送?