用戶端與伺服器同步處理的概觀
Sync Framework 讓您可以在兩層式、N 層式和服務式架構上針對不同的來源進行資料同步處理。用戶端與伺服器同步處理的 Sync Framework API 提供了一組元件來同步處理資料服務與本機存放區之間的資料,而非只是複寫資料庫及其結構描述。有越來越多應用程式用於可攜式電腦和裝置等行動用戶端上。因為這些行動用戶端並沒有持續或可靠的網路連線通往一個中央伺服器,所以對這些應用程式而言,在用戶端的資料本機複本上工作就顯得很重要。另外一項重要用途,就是使用者必須在網路連線可用時,同步處理本機資料複本與中央伺服器。Sync Framework 資料庫同步處理 API 以 ADO.NET 資料存取 API 為模型,可提供直覺式的資料同步處理方式。Sync Framework 會使得針對偶爾連接的環境建立應用程式的作業成為建立應用程式的邏輯擴充,您可以在這樣的處理方式中依賴持續的網路連線。如需 API 架構的詳細資訊,請參閱用戶端與伺服器同步處理的架構與類別。
比較 Sync Framework 與其他技術
Microsoft 提供幾種技術,這些技術是為了在偶爾連接的環境下執行的應用程式而設計。最重要的技術如下所示:
遠端資料存取 (RDA):這是用來同步處理 SQL Server Compact 資料庫與其他版本 SQL Server 上的資料庫。
合併式複寫:這是用來同步處理不同版本的 SQL Server,包含 SQL Server Compact。
請使用下表,協助您判斷哪個技術適用於您想要建立的應用程式。
主要功能 | RDA | 合併式複寫 | Sync Framework |
---|---|---|---|
使用服務進行同步處理 |
否 |
否 |
是 |
支援異質性資料庫 |
否 |
否 |
是 |
累加變更追蹤 |
否 1 |
是 |
是 |
衝突偵測與解決 |
否 |
是 2 |
是 |
輕鬆地在用戶端上建立資料檢視3 |
否 |
否 |
是 |
自動初始化結構描述與資料 |
是 |
是 |
是 |
支援大型資料集 |
是 |
是 |
是 |
自動傳播結構描述變更 |
否 |
是 |
否 |
自動重新分割資料 |
否 |
是 |
否 |
可在裝置上使用 |
是 |
是 |
是 |
1 RDA 支援累加上傳,但下載則一定是可在用戶端上更新所有資料的快照集 (Snapshot)。
2 合併式複寫提供內建的衝突解決,而 Sync Framework 則提供建立衝突解決配置的架構。如需詳細資訊,請參閱如需詳細資訊,請參閱 HOW TO:處理資料衝突和錯誤。
3 如需詳細資訊,請參閱 HOW TO:在用戶端上建立資料檢視。
Sync Framework 提供了類似離線資料集之程式撰寫模型 (Programming Model) 的彈性,以及更豐富的同步處理功能集,像是合併式複寫中的功能。Sync Framework 的功能優於 RDA。合併式複寫是要提供給資料庫管理員使用,其設計目的是要同步處理 SQL Server 資料庫。合併式複寫提供重要的功能,能透過精靈、預存程序 (Stored Procedure) 以及自己的 API 來進行組態。Sync Framework 傾向提供給開發人員使用,讓他們能夠輕鬆地在以伺服器資料庫或另一個資料來源為基礎的用戶端上建立資料檢視。Sync Framework 能在例如 Windows Communication Foundation (WCF) 等服務上支援異質性資料庫及同步處理。如果應用程式中涉及與非 SQL Server 資料庫之間的同步,或是應用程式有不同的元件,能在不同的傳輸或服務間進行同步處理,請使用 Sync Framework。
對某些應用程式而言,決定是否使用某個技術相當簡單:如果您必須對 SQL Server 資料庫以外的資料來源進行同步處理,Sync Framework 就是適用的解決方案。如果您是一位資料庫管理員,想要不必撰寫太多程式也能設定同步處理,那麼合併式複寫可能是較佳的選擇。最後,您必須小心考慮應用程式需求,然後判斷 Sync Framework API 是否為適合的技術。如果您要做的不僅是將結構描述及其資料從一個資料庫複寫到另一個資料庫的話,我們建議您使用 Sync Framework。
注意
RDA 或合併式複寫不能在用戶端資料庫中的相同資料表上搭配 Sync Framework 一起使用。
使用 Sync Framework 文件
Sync Framework 文件中的主題提供了 Sync Framework 資料庫同步處理 API、範例程式碼及 API 參考的詳盡介紹。您可以在 Microsoft.Synchronization、Microsoft.Synchronization.Data、Microsoft.Synchronization.Data.SqlServerCe 和 Microsoft.Synchronization.Data.Server 中找到用戶端與伺服器同步處理的 API 參考。
如需詳細資訊,我們建議您以下列順序閱讀文件:
要學習有關 API 的架構與最重要的類別,請參閱用戶端與伺服器同步處理的架構與類別。
要檢閱基本應用程式的程式碼,請參閱使用者入門:用戶端與伺服器同步處理。
要學習有關您可以用來協助開發應用程式的工具,請參閱協助您開發應用程式的工具。
若要了解如何處理一般工作,請瀏覽撰寫一般用戶端和伺服器同步處理工作中的主題。這些主題包含範例程式碼。您可以在 Sync Framework SDK 和程式碼庫 (英文) 中找到其他範例。
在您閱讀完這些章節後,您將可以更加了解應用程式設計及部署的考量 中提供的設計方針。在您對此 API 變得越來越熟悉之後,我們鼓勵您開始撰寫程式碼:您將會看到,在應用程式中加入同步處理是一個非常直接的程序。