locked
Building a multi-user (same db structure, different data) backup server with MSF RRS feed

  • Question

  • Hi there,
    I have a question and unfortunately couldn't find the answer so far. Maybe you can help me out.
    Is it possible to use MSF as a server that handles the data of many clients if:
    - clients have similar datastore structure but different data
    - a client doesn't need to sync with another client
    -each client must sync its own data with the server?

    I'm thinking now about a backup server that backs up the data of many clients and restores the data (based on knowledge/anchor) if/when is necessary. Is it possible with MSF. If yes how?

    Thanks,
    Zoli
    Thursday, August 28, 2008 3:26 PM

Answers

  • You mention client and server DBs. Are you using the sync services for ADO.net? Are your server and client DBs relational DBs?

    With Sync services, yes you could create a central db and have multiple client DBs consolidate info into this central DB.

    However are your tables shared between the clients? Also do you want changes from one client to go to the other clients or not?

     

    Thursday, September 18, 2008 5:33 AM

All replies

  •  

    Yes, you can certainly build a solution like that using MSF.

     

    I assume that the server has multiple datastores and replicas, 1 for each client and that the server never makes changes to data?

     

    Also, what kind of restore do you want to support? If you only want to support a scenario where the client loses all data and you restore from the server (whatever the server has from the latest backup) to a now empty client - this is straightforward.

     

    But if you are thinking of scenarios where:

     

    1. Client backs up to server (Sync C->S using MSF)

    2. Client makes changes

    3. Client doesn't like changes for some reason, wants to rollback

    4. Restore from server (Sync S->C using MSF)

     

    In a normal sync session, #4 will not sync anything, because MSF will detect that server does not have any changes that the client does not. So you would either have to wipe out the client before step #4, or not use MSF for step #1, rather just xcopy everything (data + replica knowledge).

    Thursday, August 28, 2008 5:28 PM
    Moderator
  • Well this is that i would like to avoid: having a db for each client. I would prefer to have one db on the server for all the clients.
    The clients backup their data locally ocasionally so they can restore some of the data. I would like to be able to make a delta-restore also in addition to a full restore.
    Is it possible to separate the data of each client in the same server db? To have a logical replica for each client, but physically one db?

    Thanks for your reply!

    Friday, August 29, 2008 10:56 AM
  • Yes, you can certainly have 1 db and multiple logical replicas for each client - how you store and partition your data is completely up to you - MSF is flexible about that.

     

    Some of your smart backup-restore may be easier to implement outside of MSF. You'd have to probably get a deeper understanding of MSF and try out one of our basic samples to understand how a sync session works to decide what the best option is for a delta-restore.

     

    Friday, August 29, 2008 6:16 PM
    Moderator
  • You mention client and server DBs. Are you using the sync services for ADO.net? Are your server and client DBs relational DBs?

    With Sync services, yes you could create a central db and have multiple client DBs consolidate info into this central DB.

    However are your tables shared between the clients? Also do you want changes from one client to go to the other clients or not?

     

    Thursday, September 18, 2008 5:33 AM