首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 快照複寫架構與代理運作機制詳解

     編輯:關於SqlServer

快照複寫概述

  • 特定時間點對發行資料「拍照」,產生靜態同步集合(結構+資料)。
  • **不監控資料變更**,每次完整重新整理訂閱端資料。
  • 適用:不需即時資料(決策支援、靜態表查詢)、唯讀訂閱者、資料量較小、網路可靠。
  • 保證**潛在交易一致性**。

所需代理

  • 快照代理:建立同步集合,儲存散發者快照資料夾,追蹤同步作業於散發資料庫。
  • 散發代理:將同步集合套用至訂閱者目的表。

快照代理執行步驟

  1. 連接發行者,所有發行表加**共享鎖**(防止修改),建議離峰執行。
    快照代理執行流程圖
  2. 連接散發者,複製表結構至 .sch、索引至 .idx。
  3. 執行 BCP/文字檔快照,資料寫入同步集合(SQL Server 訂閱用 .bcp、異構用 .txt)。
  4. 向散發資料庫 MSrepl_commands、MSrepl_transactions 插入同步命令與訂閱任務。
  5. 釋放共享鎖。

散發代理步驟

  1. 連接散發者(推送在散發者、提取在訂閱者)。
  2. 檢查散發資料庫系統表,讀取同步集合位置與訂閱任務。
  3. 套用快照檔案至訂閱者目的表(可選擇刪除重建或清空資料保留結構)。

同步集合組成

每篇發行項(Article)一組:.sch(結構)、.bcp/.txt(資料)、.idx(索引,可選)。

小結

快照複寫架構簡單、易理解,透過共享鎖保證快照一致性。適合資料變動少、容忍延遲、唯讀訂閱場景。大量資料建議改用交易/合併複寫。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved