locked
Which DbSyncAdapter Commands Are Needed on each EndPoint for a 1-Way Sync? RRS feed

  • Question

  • Hello-

    If I have 2 custom DBSyncProviders and am coding for a ONE-WAY Sunc from Provider A --> Provider B for a SQL Server Peer-to-Peer sync app, which of the following commands are required (without any redundancy ) for each endpoint?

     

    I am guessing that the set up for a one way sync from Provider A --> Provider B would be:

    Insert  --------------------------  DESTINATION only
    InsertMetaData  ----------------  BOTH Endpoints
    Update  -------------------------  DESTINATION only
    UpdateMetaData  ---------------  BOTH Endpoints
    Delete  --------------------------  DESTINATION only
    DeleteMetaData  ---------------  BOTH Endpoints
    SelectIncrementalChanges  --  SOURCE only
    SelectMetaDataForCleanup  --  BOTH Endpoints
    SelectRow  ---------------------  ???

     

    Can someone in the *absolute* know, please let me know so I don't have to gain this knowledge trial-by-error?

     

    Thanks

     

     

    Wednesday, June 9, 2010 8:42 PM

Answers

  • In my understanding:

    InsertMetaData  ----------------  Destination only
    UpdateMetaData  ---------------  Destination only
    DeleteMetaData  ----------------  Destination only
    SelectRow  ---------------------  Destination only

    The above methods are used in change application, to refresh sync metadata when insert/update/delete/conflict are handled on the destination side.

    Thursday, June 10, 2010 6:46 PM
    Answerer

All replies

  • In my understanding:

    InsertMetaData  ----------------  Destination only
    UpdateMetaData  ---------------  Destination only
    DeleteMetaData  ----------------  Destination only
    SelectRow  ---------------------  Destination only

    The above methods are used in change application, to refresh sync metadata when insert/update/delete/conflict are handled on the destination side.

    Thursday, June 10, 2010 6:46 PM
    Answerer
  • I'm really looking for a *definitive* answer on this one. This seems very basic and should definitely be in the Sync Framework somewhere, although I can find it anywhere. Clearly a developer couldn't possibly really understand how a sync happens unless they understand these commands/procs, when they are called, by who and how they are applied at each endpoint.

    As I read through the posts on this forum, there seems to be an undecurrent gently pushing developers to use the simpel providers. But for those of us that need to use custom providers, we really need to know how the synchronization process works, what is called, which endpoint, the sequence of events, etc., to be able to write custom command sto do the job we need to do. And the documentation is sorely lacking in explaining the process in detail. Sample apps are good to use as models to learn, but they are no better than automagic generated code when it comes to clearly understanding the fundamentals of the sync process. I'd like to ultimately see good documentation on the flow of events .. which commands are executed in what order on either endpoint, and how exactly the results are applied.

     

    But for starters, I'd settle for a definitive list of which commands are *required* on both endpoints of a one-way sync.  :)

     

    Glenn

     

    Thursday, June 10, 2010 7:22 PM
  • Very valid point, I will communicate your suggestions in Sync framework team.
    • Proposed as answer by Bherto39 Wednesday, August 24, 2011 4:41 AM
    • Unproposed as answer by Bherto39 Wednesday, August 24, 2011 4:41 AM
    Thursday, June 10, 2010 7:43 PM
    Answerer
  • I found this blog might be helpful to answer this query, but again we'll wait if Sync Framework team can comeup with some kind of docu.

    http://blogs.msdn.com/b/mahjayar/archive/2008/06/25/getting-started-with-dbsyncprovider-peer-to-peer-synchronization.aspx

     

     

     

    Wednesday, August 24, 2011 4:42 AM