共同作業同步處理概觀
Sync Framework 可讓您同步處理對等項目之間的資料,其中的每一個對等項目都可以與任何其他對等項目同步,而不需讓變更透過中樞。就像離線同步處理一樣,當應用程式沒有一致或可靠的網路連接時,可以使用對等同步處理,但是此 API 中的這個部分會將焦點放在共同作業的應用程式。例如,在允許使用者共用專案記事的應用程式中,專案小組成員經常需要一份可以使用的本機資料複本。當他們進行變更時,他們可以與另一個小組成員同步來交換變更。
Sync Framework 資料庫同步處理是以 ADO.NET 資料存取 API 為模型,可提供直覺式的同步資料的方式。如果是依賴一致網路連接的單一使用者,Sync Framework 會讓針對共同作業環境建置應用程式的作業成為建置應用程式的邏輯延伸。如需 API 架構的詳細資訊,請參閱共同作業同步處理的架構與類別。
比較 Sync Framework 與其他技術
Microsoft 提供幾種技術,這些技術是針對執行同步處理的應用程式而設計。就對等同步處理而言,要比較的最重要技術就是對等交易式複寫。這是用來同步處理兩個或多個 SQL Server 企業版資料庫。雖然比較這兩種技術很有用,但請注意對等交易式複寫是為伺服器到伺服器同步處理設計的,提供延展性 (Scalability) 和高可用性。Sync Framework 是為用戶端到伺服器及用戶端到用戶端同步處理而設計,支援共用作業的應用程式。
請使用下表,協助您判斷哪個技術適用於您想要建立的應用程式。
主要功能 | 點對點交易式複寫 | Sync Framework |
---|---|---|
使用服務進行同步處理 |
否 |
是 |
與其他類型的資料存放區1進行同步處理 |
否 |
是 |
累加變更追蹤2 |
是 |
是 |
衝突偵測與解決3 |
是 |
是 |
自動初始化結構描述與資料 |
是 |
否 |
支援大型資料集 |
是 |
是 |
自動傳播結構描述變更 |
是 |
否 |
1 資料庫可以與 Sync Framework 支援的其他資料來源 (例如 Web 服務、檔案系統和自訂資料存放區) 交換資訊。
2 Sync Framework 會使用淨變更追蹤,其中會同步處理最後一個版本的資料列。在對等交易式複寫之下,資料列的所有變更都會在每一個對等項目上依序套用。
3 複寫提供內建的衝突解決方式,而 Sync Framework 則提供建立衝突解決配置的架構。
Sync Framework 提供了類似離線資料集之程式撰寫模型 (Programming Model) 的彈性,以及更豐富的同步處理功能集,像是複寫中的功能。複寫是要提供給資料庫管理員使用,其設計目的是要同步處理 SQL Server 資料庫。複寫可以透過精靈、預存程序及其自身的 API 來提供重要的組態設定功能。Sync Framework 是特意為開發人員設計的,並支援與其他類型資料來源進行同步處理及透過服務,例如 Windows Communication Foundation (WCF) 進行的同步處理。
對一些應用程式來說,很容易決定要使用的技術:如果必須有不同的元件,以便透過不同的傳輸或服務進行同步處理,或必須與非資料庫資料來源進行同步處理,就很適合使用 Sync Framework。如果您本身是資料庫管理員,正在設計具延展性和高可用性的系統,或者想要設定同步處理而不必撰寫太多程式,那麼合併式複寫可能是較佳的選擇。最後,您必須小心考慮應用程式需求,然後判斷 Sync Framework API 是否為適合的技術。如果您想要將超出結構描述及其資料的複寫從一個資料庫移到另一個資料庫,我們建議您使用 Sync Framework。
使用 Sync Framework 點對點文件
Sync Framework 文件中的主題提供了 Sync Framework 資料庫同步處理 API、範例程式碼及 API 參考的介紹。您可以在 Microsoft.Synchronization、Microsoft.Synchronization.Data、Microsoft.Synchronization.Data.SqlServer 和 SqlCeSyncProvider 中找到點對點同步處理的 API 參考。
如需詳細資訊,我們建議您以下列順序閱讀文件:
若要學習有關 API 的架構與最重要的類別,請參閱共同作業同步處理的架構與類別。
若要檢閱基本應用程式的程式碼,請參閱HOW TO:設定及執行共同作業同步處理 (SQL Server)。
若要了解如何處理 SQL Server 以外之資料庫的同步處理,請瀏覽同步處理其他 ADO.NET 相容的資料庫中的主題。
這些主題包含範例程式碼。您可以在 Sync Framework SDK 和程式碼庫 (英文) 中找到其他範例。