◆列級別跟蹤不僅跟蹤行中的更改,而且還跟蹤列級別上的更改,因此可以只將更改的列數據從訂閱者傳輸到發布者,從而減少了傳輸的數據量。發布者始終會將整個更改的行發送到預定者,原因是它不能確定該行在訂閱者中是否實際存在。
有關跟蹤級別的詳細信息,請參閱 SQL Server Mobile Books Online 中的“Using Row-Level and Column-Level Tracking”和 SQL Server Books Online 中的“Row-Level Tracking and Column-Level Tracking”。
RDA 使用 SQL Server Mobile 數據庫中的系統對象來跟蹤對數據所做的更改。獲得此信息后,RDA 僅將這些更改(特別是更改的行)從 SQL Server Mobile 推到 SQL Server。但如果 SQL Server Mobile 要從 SQL Server 檢索數據更改,則需要完全刷新客戶端數據。
簡而言之,復制功能支持增量更改的雙向數據交換,因為數據更改是在發布者和訂閱者中同時進行跟蹤的。而 RDA 僅支持從 SQL Server Mobile 到 SQL Server 的增量更改數據交換,并且需要對數據進行完全刷新才能將 SQL Server 中的更改更新到 SQL Server Mobile,因為數據更改僅在 SQL Mobile 數據庫中進行跟蹤。
可以傳播的表類型
將表添加到復制發布中時,可以設置表的屬性來控制數據流。除了控制發布者與訂閱者之間的數據流以外,這些表屬性還可用于增強同步的性能。有關詳細信息,請參閱 SQL Server Books Online 中的“Parameterized Row Filters”和“Optimizing Merge Replication Synchronization Performance with Download-Only Articles”。
RDA 不支持任何用于控制數據流或增強性能的表屬性。拉到客戶端的數據僅由該客戶端上的應用程序代碼控制。
沖突
使用復制作為連接解決方案時,潛在的沖突包括由不同用戶更改的數據以及由于錯誤而無法應用的行。復制完全支持服務器上的沖突解決和管理,包括內置和自定義的沖突解決程序。有關詳細信息,請參閱 SQL Server Mobile Books Online 中的“Replication Conflict Detection and Resolution”和 SQL Server Books Online 中的“Merge Replication Conflict Detection and Resolution”。
使用 RDA 時,沖突僅包括由于錯誤而無法應用的行。RDA 不會檢測是否有不同的用戶對數據進行了更改。因此,RDA 在將數據推入服務器時始終采用“最后一個寫入者獲勝”的方式。不會對沖突進行管理,但是可以在客戶端的錯誤表中報告沖突。由于沒有去解決沖突,因此也就不支持任何沖突解決程序。
工具 (UI)
SQL Server Management Studio 包含大量用于創建和管理訂閱的工具集,包括用于管理多個訂閱及監測性能和同步次數的監視工具。
RDA 只能通過編寫代碼來使用;SQL Server 和 SQL Server Mobile 中都沒有可用于推/拉更改或監視客戶端的工具。
結論
在本文中,您已經了解了合并復制與 RDA 之間主要功能的關鍵差別。了解這些信息后,您就可以根據 SQL Server Mobile 應用程序的需要成功地選擇相應的連接解決方案。例如,應用程序可能會從 RDA 的簡單性或合并復制的強大功能中受益。在有些情況下,如果服務器上的數據不會發生沖突,您可以選擇在一個解決方案中結合使用 RDA 和合并復制的功能。
文章來源于領測軟件測試網 http://www.kjueaiud.com/