Click here to Skip to main content
15,885,278 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
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 ASP.net 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
Updated 3-Apr-12 11:49am
v2

1 solution

Hi,

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,

thanks
-amit.
 
Share this answer
 

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



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900