同步處理資料
同步資料是指在「訂閱者」端套用初始快照集後,在「發行者」與「訂閱者」之間傳播資料和結構描述變更的處理。同步處理將會:
- 連續發生,一般出現在交易式複寫中。
- 視需要發生,一般出現在合併式複寫中。
- 在排程時間發生,一般出現在快照式複寫中。
同步處理訂閱時,根據使用的複寫類型將發生不同的處理:
- 快照式複寫。同步處理意味著「散發代理程式」在「訂閱者」端重新套用快照集,以使訂閱資料庫中的結構描述和資料與發行集資料庫保持一致。
如果在「發行者」端對資料或結構描述作了修改,則必須生成新的快照集,以將修改傳播到「訂閱者」端。 - 交易式複寫。同步處理意味著「散發代理程式」將更新、插入、刪除和其他更改從散發資料庫傳送到「訂閱者」端。
- 合併式複寫。同步處理意味著「合併代理程式」將更改從「訂閱者」端上載到「發行者」端,然後再將更改從「發行者」端下載到「訂閱者」端。當有衝突時會進行偵測並解決。資料會被聚合,最終「發行者」端和所有「訂閱者」端都將得到相同的資料值。如果偵測到並解決了衝突,則將變更一些使用者認可的工作,以根據您定義的原則來解決衝突。
每次發生同步處理時,快照式發行集都會在「訂閱者」端重新整理整個結構描述,因此所有結構描述變更都將套用至「訂閱者」。交易式複寫與合併式複寫還支援最常見的結構描述變更。如需詳細資訊,請參閱<對發行集資料庫進行結構描述變更>。
若要同步發送訂閱
- SQL Server Management Studio: 如何:同步處理發送訂閱 (SQL Server Management Studio)
- 複寫代理程式程式設計: 如何:同步處理發送訂閱 (複寫程式設計)
- 「複寫管理物件」(RMO) 程式設計: 如何:同步處理發送訂閱 (RMO 程式設計)
若要同步處理提取訂閱
- SQL Server Management Studio: 如何:同步處理提取訂閱 (SQL Server Management Studio)
- 複寫代理程式程式設計: 如何:同步處理提取訂閱 (複寫程式設計)
- 「複寫管理物件」(RMO) 程式設計: 如何:同步處理提取訂閱 (RMO 程式設計)
若要設定同步處理排程
- SQL Server Management Studio: 如何:指定同步排程 (SQL Server Management Studio)
- 複寫 Transact-SQL 程式設計: How to: Specify Synchronization Schedules (Replication Transact-SQL Programming)
- 「複寫管理物件」(RMO) 程式設計: How to: Specify Synchronization Schedules (RMO Programming)
若要檢視並解決同步處理衝突
- SQL Server Management Studio: 如何:檢視並解決合併式發行集的資料衝突 (SQL Server Management Studio)
- SQL Server Management Studio: 如何:檢視具有佇列更新訂閱之交易式發行集的資料衝突 (SQL Server Management Studio)
在同步處理期間執行程式碼
複寫支援兩種同步處理時的程式碼執行方法
- 交易式複寫與合併式複寫支援視需要的指令碼執行。視需要的指令碼執行可用於指定要在同步處理期間執行的 SQL 指令碼。指令碼將複製到「訂閱者」端,並在開始同步處理時使用 sqlcmd 來執行。指令碼套用至「訂閱者」後,便不具有對已複寫變更的存取權。如需詳細資訊,請參閱<How to: Execute Scripts During Synchronization (Replication Transact-SQL Programming)>。
- 合併式複寫支援商務邏輯處理常式。您可以使用商務邏輯處理常式架構來撰寫受管理的程式碼組件,該組件將在合併同步處理期間中被呼叫。組件包括商務邏輯,可以在同步處理期間回應一些情況:資料變更、衝突和錯誤。如需詳細資訊,請參閱<在合併同步處理期間執行商務邏輯>。