準備 SQL Server 以在 BizTalk Server 生產環境中使用時要遵循的步驟。
設定 SQL Server
| 步驟 | 參考文獻 |
|---|---|
| 監視和減少 BizTalk Server 資料庫檔案磁碟 I/O 爭用。 | - 建議您主動監視儲存數據和事務歷史記錄檔之磁碟的磁碟 I/O 使用量。 - 我們建議將這些數據檔和事務歷史記錄檔放在專用磁碟驅動器上,以減少磁碟 I/O 爭用成為問題的可能性。 - 您可以藉由分隔 MessageBox 和 Tracking (DTA) 資料庫,以及分隔不同實體磁碟上的資料庫檔案和事務歷史記錄檔,以減少磁碟 I/O 爭用。 如需詳細資訊,請參閱 監視和減少資料庫 IO 爭用 |
| 確定 SQL Server 已在正確對齊的磁碟分區上設定 | 適當對齊的磁碟分區可能會導致延遲大幅降低,進而改善 SQL Server 效能,進而增強 BizTalk Server 效能。 相反地,非對齊磁碟分區可能會對I/O效能造成負面影響,因而降低 SQL Server 和 BizTalk Server 效能。 如需正確對齊磁碟分區如何影響效能的詳細資訊,請參閱 SQL Server 的磁碟分區對齊最佳做法。 |
| 使用 SQL Server Profiler 保留您監視的事件 | 使用 SQL Server Profiler 只監視您感興趣的事件。 如果追蹤變得太大,您可以根據所需的信息進行篩選,以便只收集事件數據的子集。 監視太多事件會增加伺服器與監視處理序的負擔,且會使得追蹤檔案或追蹤資料表增長過大,尤其是需要花費長時間的監視處理序更是如此。 |
| 監控並降低 DTC 記錄檔的磁碟 I/O 爭用問題。 | 監視和減少 DTC 記錄檔磁碟 IO 爭用 |
| 為 SQL Server 資料庫提供高可用性。 | 規劃資料庫可用性 |
| 檢閱作用中/作用中的 SQL Server 叢集設定以進行故障轉移案例。 | 檢閱及測試故障轉移案例的 SQL Server 叢集組態 |
| 針對下列專案使用預設組態設定: - 最大平行處理度(MDOP)。 - BizTalk Server MessageBox 資料庫上的 SQL Server 統計數據。 - SQL Server 資料庫索引重建和重組。 |
不應該變更的 SQL Server 設定 |
| 啟用追蹤旗標 1118 (TF1118) 作為所有 SQL Server 實例的啟動參數。 | 實作 TF1118 可藉由移除幾乎所有的單一頁面配置,協助減少 SQL Server 實例之間的爭用。 如需詳細資訊,請參閱 Microsoft tempdb 資料庫的並行增強功能一文。 注意: 如需 TF1118 的詳細資訊,請參閱 TF1118 周圍的誤解。 請注意,此鏈接的內容不是由Microsoft所擁有,Microsoft不保證內容的精確度。 |
| 在 BizTalk Server 所使用的每個 SQL Server 實例上,將 tempdb 資料庫分割成大小相等的多個數據檔。 | 請確定用於tempdb的數據檔大小相等。 這很重要,因為 SQL Server 所使用的比例填滿演算法是以數據檔的大小為基礎。 如果資料檔案的大小不均等,比例填充演算法會優先使用最大的檔案進行全域配置對應 (GAM) 配置,而不是在所有檔案之間分散配置,這樣會無法達成建立多個資料檔案的目的。 一般指導方針為伺服器上每個CPU建立一個數據檔,然後視需要調整檔案數目。 請注意,雙核心 CPU 被視為兩個 CPU。 在任何情況下,無論計算機上有多少額外的核心可用,數據檔的數目都不得大於 8。 如需tempdb檔案的詳細資訊,請參閱 優化tempdb效能。 |
| 將 [最小] 和 [最大伺服器記憶體] 設定為裝載 BizTalk Server 資料庫的 SQL Server 實例上相同的值。 | 執行裝載 BizTalk Server 資料庫之 SQL Server 的電腦應該專用於執行 SQL Server。 當執行 BizTalk Server 資料庫的 SQL Server 電腦專用於執行 SQL Server 時,建議將每個 SQL Server 實例上的「最小伺服器記憶體」和「最大伺服器記憶體」選項設定為指定要配置給 SQL Server 的固定記憶體數量。 在此情況下,您應該將 'min server memory' 和 'max server memory' 設定為相同的值 (等於 SQL Server 將使用的最大物理記憶體數量)。 這可減少 SQL Server 動態管理這些值所使用的額外負荷。 在執行 SQL Server 的每部電腦上執行下列 T-SQL 命令,以指定要設定給 SQL Server 的固定記憶體數量: sp_configure 'Max Server memory (MB)',(以 MB 為單位的最大容量)sp_configure 'Min Server memory (MB)',(以 MB 為單位的最小容量) 設定 SQL Server 的記憶體數量之前,請先從物理記憶體總數減去 Windows Server 所需的記憶體,以判斷適當的記憶體設定。 這是您可以指派給 SQL Server 的最大記憶體數量。 注意: 如果執行 SQL Server 的電腦裝載 BizTalk Server 資料庫的同時,也裝載企業單一 Sign-On 主密碼(如叢集主密碼伺服器 主題所述),可能需要調整此值,以確保有足夠的記憶體運行企業單一 Sign-On 服務。 |
| 計算 BizTalk 追蹤資料庫的大小 | - 判斷 BizTalk 追蹤(DTA)資料庫中的訊息大小時,如果訊息內容的平均大小相較於訊息大小顯著,請將其新增至訊息大小。 - 若要限制 BizTalk 追蹤資料庫中的訊息大小,請限制您升級的屬性數目。 - 如果已啟用協調流程調試程式選項,請將協調流程中每個圖形的狀態儲存在 BizTalk 追蹤資料庫中。 |
執行 SQL Server 維護程式
| 步驟 | 參考文獻 |
|---|---|
| 定義 BizTalk Server 資料庫的自動成長設定。 | - 資料庫自動成長應該設定為固定的 MB 數目,而不是百分比,特別是針對 MessageBox 和追蹤資料庫。 視 BizTalk Server 應用程式和輸送量而定,MessageBox 和追蹤資料庫可能會相當大。 如果自動成長設定為百分比,則自動成長也可以相當龐大。 - 立即檔案初始化可以大幅降低檔案成長作業的效能影響。 - 在理想情況下,支援檔案群組的檔案大小應該預先配置,而且可能的話,請將 設定為靜態大小。 如需詳細資訊,請參閱 定義資料庫的自動成長設定。 |
| 備份 BizTalk Server 資料庫 | - 建議您執行 BizTalk Server 備份作業,以防止 BizTalk Server 資料庫事務歷史記錄以未繫結的方式成長。 - 您應該定期還原整個 BizTalk Server 環境,並仔細記錄過程。 - 我們建議您封存舊的備份檔。 如需詳細資訊,請參閱 備份資料庫。 |
| 監視 BizTalk Server SQL Agent 作業。 | 監視這些作業的健康情況,並確定它們正在執行,而不會發生錯誤。 如需詳細資訊,請參閱 監視 SQL Server Agent 作業。 |
| 啟用 BizTalk Server 追蹤和備份 | 「DTA 清除和封存」SQL Agent 作業會從 BizTalk 追蹤資料庫清除並封存舊數據,因此防止其增長失控。 這對於狀況良好的 BizTalk Server 系統而言很重要。 如需詳細資訊,請參閱 清除和封存追蹤數據。 |
備份 BizTalk Server 資料庫
| 步驟 | 參考文獻 |
|---|---|
| 確認已設定備份 BizTalk Server SQL Agent 作業。 | 請參閱 設定備份 BizTalk Server 作業 |
| 設定備份 BizTalk Server SQL Agent 作業,以刪除比變數指定的 @DaysToKeep 天數還舊的備份檔。 如果未刪除備份檔,它們可能會隨著時間而未系結,而這可能會填滿包含備份檔的磁碟,並造成與磁碟空間有限相關的問題。 | 請參閱 設定備份 BizTalk Server 作業 |
| 確認備份 BizTalk Server SQL Agent 作業已啟用並執行。 | 監視 SQL Server Agent 工作 |
使用 SQL Server 記錄傳送進行災害復原
| 步驟 | 參考文獻 |
|---|---|
| 確認災害復原伺服器具有處理生產負載的容量。 | 請參閱 使用 BizTalk Server 記錄傳送進行災害復原 |
| 請確定災害復原例程的詳細數據已妥善記載。 | 請參閱 使用 BizTalk Server 記錄傳送進行災害復原 |
| 在一般測試中,執行故障轉移練習至災難復原站點,特別是在新的 BizTalk 應用程式上線運行時。 | 請參閱 使用 BizTalk Server 記錄傳送進行災害復原 |
監視 BizTalk Server SQL Agent 作業
| 步驟 | 參考文獻 |
|---|---|
| 確認 SQL Server Agent 服務正在執行。 | 請參閱 監控 SQL Server Agent 作業 |
| 確認 BizTalk Server 安裝的 SQL Server Agent 作業已啟用並成功執行。 | 請參閱 監控 SQL Server Agent 任務 |
| 確認 BizTalk Server SQL Agent 作業已及時完成。 | 請參閱 監視 SQL Server Agent 作業 |
清除和封存追蹤數據
| 步驟 | 參考文獻 |
|---|---|
| 請確定 SQL Agent 作業「DTA 清除和封存」已正確設定、啟用並順利完成。 | 請參閱 設定 DTA 清除和封存作業。 |
| 確保作業能夠以與產生傳入追蹤數據同樣的速度清除追蹤數據。 | 請參閱 測量最大可持續追蹤吞吐量 |
| 檢閱軟性清除與硬性清除的參數,確保您將數據保持在最佳保存時間。 | 請參閱 封存和清除 BizTalk 追蹤資料庫。 |
| 如果您只需要清除舊數據,且不需要先封存它,請變更 SQL Agent 作業以呼叫預存程式「dtasp_PurgeTrackingDatabase」。 | 請參閱 從 BizTalk 追蹤資料庫清除數據。 |