views:

197

answers:

2

We are having a client-server architecture where client goes offline when connects remotely to server. Server is essentially a SQL Server 2008, with few tables each with thousands of records. Each client application (WPF) would require to store replica of Server data for their offline use (in SQL Express?). And ideally when client application starts up it would hit the server for fetching new changes over there and sync its database to have same data as of the Server (without much of user interaction).

I'm looking for 100% code oriented solution, which can be deployed to remote clients without time consuming setup procedures or that require user intervention to complete. I've used Microsoft Sync Framework v1 and its ADO.NET Sync Services to handle similar scenario a year ago. It turned to be a nightmare with table restructuring, writing SPROCs for every other change tracking scenarios, and batching was painful too. Microsoft has recent released an updated version of Sync Framework with some new features. I haven't got time to evaluate those features yet.

Is there any other tools / technologies to synchronize offline databases with a Server? Samples, documentation, suggestions are appreciated.

+1  A: 

Have you looked into SQL Server replication. Several types of replication topologies can be set up. Your "offline" database can enter data when in a disconnected environment and then synchronize changes with the server whenever it becomes available. This can be accomplished through SQL Server jobs or calls through the .NET RMO class.

Matt
Hi Matt, I'm reading same topic now. Any good resources available on web?
Raj
A: 

I went back to sync framework and this time used it with SQL Server 2008. Results were better, and I were able to expose sync functionality over WCF. See detailed code here in SO

Raj