比較遠端資料存取與合併式複寫
決定要在您的 SQL Server Compact 應用程式中使用遠端資料存取 (RDA) 或複寫,完全取決於智慧型裝置應用程式的用途、功能、規模和需求。每種連接資料解決方案各有不同的優缺點。
RDA 與複寫都適合用於無線傳輸。使用壓縮可減少傳輸資料的大小。您可在傳輸期間使用加密來保護機密性使用者資料的安全。
功能比較
功能 |
複寫 |
RDA |
---|---|---|
交換追蹤的資料變更 |
伺服器與用戶端互相複寫變更 資料行層級追蹤 – 只傳輸已變更的資料行資料,以減少傳輸的資料量 資料列層級追蹤 – 傳輸整個資料列 |
只從用戶端將變更發送到伺服器。需要用戶端資料的完整更新,以接收伺服器變更。 資料列層級追蹤 – 傳輸整個資料列。 |
可傳送資料的資料表數量 |
多個資料表 – 數量由發行集定義 |
每個 RDA 方法一個資料表。 |
可傳播的資料表類型 |
不同類型的資料表以控制資料流程 自動複寫發行集 (伺服器) 內資料表的新增或移除,不需要在用戶端重新初始化訂閱 |
N/A 伺服器上資料表的新增或移除不會自動複寫到用戶端。 |
條件約束與索引 |
自動從伺服器複寫參考完整性條件約束與索引。 |
不會複寫參考完整性條件約束,並選擇性複寫索引。其他結構描述定義必須在用戶端定義。 |
衝突 |
衝突包括不同使用者變更的資料,以及因為錯誤而沒有套用的資料列。 伺服器上衝突的解決方式與管理 支援內建與自訂的衝突解析程式。 |
衝突只包括因為錯誤而沒有套用的資料列,RDA 無法偵測資料是否由不同的使用者變更。 沒有管理衝突,但是可選擇在用戶端的錯誤資料表中報告。 沒有衝突解析程式。 |
結構描述變更 |
結構描述變更 (例如新增/卸除資料行、新增/卸除條件約束,或變更資料行定義) 可以複寫。 |
不允許結構描述變更。如果結構描述已變更,用戶端必須在用戶端卸除資料表,並再次從伺服器提取所有資料。根據結構描述變更而定,發送可能失敗。 |
識別欄位 |
手動與自動識別範圍處理。支援 BigInt 與 Int 資料行。 |
手動識別範圍處理。支援 BigInt 與 Int 資料行。 |
資料/結構描述定義 |
於設定發行集時在伺服器上發生,並於建立訂閱時自動在用戶端定義。 |
從伺服器將資料提取到用戶端時,資料和結構描述定義會在用戶端發生。 |
工具 (UI) |
大量用於建立及管理訂閱的工具,以及用於管理多重訂閱、監看效能和同步時間的監控工具。 |
沒有支援工具。 |
伺服器侵略性 |
將資料表與資料行新增到伺服器資料庫以管理複寫。 |
沒有對伺服器上的資料庫進行任何變更。 |
重要
由於設計上的限制,因此未來的版本將會移除遠端資料存取 (RDA)。如果您目前正在使用 RDA,應該考慮轉換成 Microsoft Synchronization Services for ADO.NET。如果您計劃在新的應用程式中使用 RDA,就應該考慮改用合併式複寫或 Sync Services。請注意,Sync Services 目前可用於桌上型電腦和行動裝置。