Microsoft Synchronization Services for ADO.NET 讓開發者能輕鬆建立「偶爾連線」系統:用戶端在離線狀態下使用本地資料庫 (SQL Server Compact),連線時自動與中央資料庫雙向同步。本文透過三個練習示範完整實作流程。
實驗目標與前置條件
- 預估時間:60 分鐘
- 目標:使用 Sync Services 進行資料同步、建立偶爾連線系統
- 前置條件:T-SQL 腳本與 SSMS 經驗、C# Windows 應用程式開發經驗
練習內容概覽
- 建立偶爾連線應用程式:在用戶端建立本地資料庫快取,定義同步範圍 (Sync Scope),設定同步代理與衝突解決策略。
- 配置本地與遠端資料庫雙向同步:在伺服器端佈建同步結構描述,設定 IIS 裝載同步服務,驗證離線修改與上線同步的資料一致性。
- 向 N 層應用程式加入本地資料庫快取:將同步元件封裝為可重用元件,整合至多層架構的業務邏輯層與資料存取層。
關鍵技術點
- SqlCeClientSyncProvider:用戶端同步提供者,管理本地 SQL Server Compact 資料庫。
- SqlSyncProvider:伺服器端提供者,追蹤變更、解決衝突、應用同步批次。
- 同步範圍與篩選:只同步必要資料表與資料子集,減少頻寬與儲存體壓力。
- 衝突偵測與解決:支援伺服器勝出、用戶端勝出、自訂邏輯等策略。
透過 Sync Services,企業可快速交付具備離線能力的現場服務、銷售、稽核等行動應用,無需自行開發複雜的同步引擎。