發佈/訂閱模型術語
- 發行項:被複寫資料單元(整張表、垂直/水平分割、預存程序)。
- 發行集:一或多個發行項集合,訂閱者訂閱發行集而非單一發行項。
- 發行者:維護來源資料庫與發行集資訊,偵測變更並送往散發者。
- 散發者:接收發行者變更,存儲於散發資料庫,轉送至訂閱者。
- 訂閱者:儲存複寫資料複本,可修改資料(視複寫類型),亦可作為其他訂閱者的發行者。
單一 SQL Server 實例可同時扮演多角色。效能考量常分離散發者獨立伺服器。
訂閱類型
| 類型 | 觸發方式 | 適用場景 |
| 推送訂閱 | 發行者主動送達變更 | 高同步性需求、訂閱者少 |
| 提取訂閱 | 訂閱者定期輪詢 | 大量訂閱者、訂閱者決定同步時機 |
複寫代理架構
1. 快照代理
- 散發者端建立快照檔(結構+資料),記錄同步資訊於散發資料庫。
- 每個發行集專屬一個快照代理。
2. 記錄讀取代理
- 掃描發行資料庫交易記錄,擷取標記複寫的交易寫入散發資料庫。
- 每個發行資料庫專屬一個(交易複寫專用)。
3. 散發代理
- 將散發資料庫交易/快照套用至訂閱者。
- 推送訂閱在散發者、提取訂閱在訂閱者運行。
4. 合併代理
小結
理解發佈/訂閱術語、角色關係、訂閱類型與四大代理分工,是設計、部署、維運 SQL Server 複寫拓撲的核心知識基礎。