快照複寫屬靜態複寫,僅反映特定時間點的資料庫狀態,不捕獲中間變更過程,與「交易複寫」(類比差異備份)本質不同。其特點、適用場景與注意事項如下:
核心特性
- 靜態性:如同拍照,只同步某時刻的完整資料集。
- 資源消耗大:無論資料是否變更,每次皆全量複寫,耗時長、佔頻寬、成本高。
- 特定場景下反而高效:針對異動少、同步即時性要求低的資料,快照複寫反倒簡單可靠。
四大適用場景
- 資料大量異動但頻率低:如全國連鎖統一調價,集中異動後一次快照同步至各門市資料庫。
- 決策支援系統:以查詢為主、異動少、容許資料稍過時(如僅需上月銷售資料)。
- 資料量較小:小資料庫全量複寫比增量維護更輕量,類比完整備份優於差異備份。
- 異地備份:建立散發伺服器,定時快照複寫至異地,再對散發伺服器備份,繞過 SQL Server 無原生異地備份的限制。
實務提醒
1. 可部分實現「網路資料庫」橫向擴展
SQL Server 僅支援縱向擴展(加 CPU/記憶體)。快照複寫可自動同步多伺服器資料,分流查詢負載,變相實現多伺服器架構。但受限於單向性,詳下條。
2. 基本為單向複寫
資料僅從發佈端流向訂閱端,訂閱端異動無法回寫。若欲分流查詢,應限定訂閱端唯讀(報表、查詢),寫入操作仍集中於發佈端。
3. 強制複寫與強制訂閱
突發異動(如凌晨調價)可立即觸發快照並強制推送至訂閱端。但頻繁使用恐癱瘓系統/網路,需謹慎評估。
4. Internet 複寫注意事項 (SQL 2005+)
- 發佈/散發伺服器需在防火牆同側
- 需直接連線,不可僅靠公網
- 僅支援 TCP/IP 協定
- 頻寬直接影響複寫效率
總結:快照複寫為 SQL Server 資料同步提供捷徑,是保障資料一致性的關鍵手段,但需精準套用於適合場景。