一、環境要求及說明
1、快照復制和事務復制是單向的(2005及以后的版本中加入了訂閱端可更新的事務復制)。
2、合並復制是雙向的。
3、快照復制對表結構沒有要求。
4、事務復制要求表有主鍵。
5、合並復制要求表有 rowguid 列。
-------------------------------------------------------
快照復制
1、概念
快照復制是完全按照數據和數據庫對象出現時的狀態來復制和分發它們的過程。
快照復制不需要連續地監控數據變化,因為已發布數據的變化不被增量地傳播到訂閱服務器,而是周期性的被一次復制。
2、 適用情況
• 數據主要是靜態的,比如將數據倉庫復制到數據集市中
• 一段時間內允許有已過時的數據拷貝的情況
• 小批量數據
• 站點經常脫離連接,並且可接受高延遲
事務復制
1、概念
使用事務復制,初始快照數據將被傳播到訂閱服務器,因此該訂閱服務器就具有了一個所謂的初始負載,這是可以開始工作的內容。
當出版服務器上發生數據修改時,這些單獨的事務會被及時捕獲並復制到訂閱服務器。並保留事務邊界,當所有的改變都被傳播后,所有訂閱服務器將具有與傳播服務器相同的值。
2、適用情況
• 需要數據修改經常在其發生的幾秒鍾內被傳播到訂閱服務器
• 需要事務是原子性的
• 訂閱服務器在通常是連接到出版服務器上的
• 應用程序不能忍受訂閱服務器接收改變的高延遲
合並復制
1、概念
合並復制允許一組站點自治工作,在線或離線。然后在將來的某個時刻,數據按照在多個已復制站點上發生的修改或插入情況被合並成一個統一的結果。
在訂閱服務器上應用初始快照,作為其初始負載,然后SQL Server跟蹤在出版服務器上和訂閱服務器上已發布數據的更改。
數據按照預先定義或調度的時間,或者按需在服務器間同步。然后更新被獨立應用在多個服務器上。
這意味着相同的數據可能由出版服務器或多個訂閱服務器進行了更新,因而當數據更新合並時將發生沖突。
2、適用情況
• 多個訂閱服務器需要在不同時刻更新數據,並將這些數據傳播到出版服務器和其他訂閱服務器。
• 訂閱服務器需要接收數據,脫機更改數據,然后將更改同步到出版服務器和其他訂閱服務器
• 應用程序的延遲需求可高可低
• 站點的自治性很關鍵
--------------------------------------------------------
事務復制
• 將復制啟用后的所有發布服務器上發布的內容在修改時傳給訂閱服務器;
• 數據更改將按照其在發布服務器上發生的順序和事務邊界,應用於訂閱服務器;
• 在發布內部可以保證事務的一致性;
快照復制
• 將數據以特定時刻的瞬時狀態分發,而不監視對數據的更新;
• 發生同步時,將生成完整的快照,並將其發送到訂閱服務器;
合並復制
• 通常從發布數據庫對象和數據的快照開始,並且用觸發器跟蹤在發布器和訂閱服務器上所做的后續更改和架構修改;
• 訂閱服務器在連接到網絡時將與發布服務器進行同步,並交換自上次同步以來發布服務器和訂閱服務器之間發生更改的所有行;