合併複寫的效能很大程度上取決於合併代理程式的執行頻率。理想情況下,應盡可能頻繁地運行合併代理程式;但若用戶離線,則無法執行同步,因此建議引導用戶盡量頻繁進行手動同步。以下七大技巧可協助您顯著提升合併複寫效能。
SQL Server 提供多種預先定義的設定檔,可針對不同案例優化合併複寫效能。您可以在企業管理員中右鍵點選合併代理程式,選擇「代理程式設定檔」,再從下列清單中選擇最適合的設定檔:
篩選條件可限制每次同步需傳輸的資料量。若使用篩選,請務必在篩選欄位上建立索引以增強效能。必要時可重新設計資料表結構。若篩選中使用 HOST_NAME() 參數,可透過合併代理程式的 HostName 屬性來忽略主機名稱值。確保所有符合篩選條件的欄位皆已建立索引,並定期更新索引統計資料。
適度調大批次大小可減少往返通訊次數。當宣告式參考完整性 (DRI) 衝突發生時(這是合併同步的常見現象,會在下一次同步時自動清除),透過抑制合併代理程式錯誤回報,往往能改善整體效能。可在合併代理程式屬性頁中設定下列參數:
UploadGenerationsPerBatchDownloadGenerationsPerBatchUploadReadChangesPerBatchDownloadReadChangesPerBatchUploadWriteChangesPerBatchDownloadWriteChangesPerBatch定期對 MSmerge_contents、MSmerge_tombstone、MSmerge_genhistory 和 MSmerge_replinfo 等系統資料表重建索引,可有效改善整體複寫效能。
在合併複寫屬性的「訂閱」頁籤中,設定訂閱者重新同步前允許離線的最短時間。通常發現,若訂閱者離線時間過長,重新同步所需時間可能超過重新套用快照集的時間,此時以重新快照集方式較划算。
替代同步夥伴功能允許發行者離線時,訂閱者連線至備用發行者進行同步。但此功能有諸多限制:不支援自動識別範圍調整,且發行者離線時無法自動將訂閱者切換至備用同步夥伴。如需部署,請洽詢 Microsoft 支援服務。
鑑於替代同步夥伴的限制,許多拓撲設計者改用「重新發佈」:讓訂閱者同時成為下層訂閱者的發行者。此架構可在總部部署主發行者,各區域部署訂閱者(如東、南、西、北),再由區域伺服器同步至各分站。部署時需謹慎規劃全域優先順序以建構拓撲。