Click here to Skip to main content
13,251,998 members (59,743 online)
Rate this:
Please Sign up or sign in to vote.
See more: , +
I am developing a WPF application that uses an SQL Express database and runs on the clients PC (as well as the database). This application will be used by multiple clients but every client's database will contain unique records. The database contains textual data as well as image blobs, thus its size can become pretty large (2GB on average).

Now I want to make an up to date backup to a central server in a datacenter. Furthermore I would like to provide an MVC based backoffice to the clients so they can also manipulate data from anywhere on the net without having access to the application itself.

After searching around for a while I have found the MS Sync Framework and I think this will be a great way to accomplish this, since it will create a copy of the clients local database and they will be able to modify data on this copy that will be synced back to the local db, even when the local PC is turned off (sync on next startup).

Since there is already an WCF service in place for licensing purposes and other functions, I would like to also use this for the sync, which seems perfectly possible

However, all examples I find on the internet speak about multiple clients working on a copy of the same database which is then synced to eachother through a central hub or in a peer to peer fashion.

I cannot find any examples however how I would be able to keep a copy of each client seperately on the server. I suppose I need to create a db on the server's SQL for each client, and figure out a way to have the WCF use this db.
Each client is identified on the WCF by its authentication certificate's DN.

Please advice how I could do this, if this would be the best way, if there is a way to easily provision the db for the client on the server on the fly (I don't want to set these up manually). I am also wondering what then would be the best way to update all these databases (on the server and the clients) when the schema would change.
Posted 3-Apr-12 12:48pm
Updated 3-Apr-12 12:49pm

1 solution

Rate this: bad
Please Sign up or sign in to vote.

Solution 1


i am bit confuse, if you would like to sync all the client database then why you want separate databases on server for each client ?

Actually Sync framework will synchronize your specified databases at specified interval time. it can be set as downloadable/uploadable or both.

If you need separate copy for each client and do not want to sync between two client then you can point your sync service with different server database instead of central database.

hope this information will helpful to you,


This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
Top Experts
Last 24hrsThis month

Advertise | Privacy |
Web04 | 2.8.171114.1 | Last Updated 4 Apr 2012
Copyright © CodeProject, 1999-2017
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100