I request you to understand the problem we are facing with Sync for which I need your help and guide.
What we have:
1) 50 tables to be sync-ed, divided into 6 common scopes and 8 template based scopes(parameterized based on CLIENTID column of CLIENT table).
2) Sync is to be done from different PCs to SQL Azure
3) From C# WPF App, we select a client(CLIENTID), run sync set-up(provisioning) and then start sync process using method.
Issue we face very often:
1) Few clients are already sync-ed, on a n-th client, due to network connectivity issue / timeout issue, app needs to be closed. When we run provision on that particular client again, sometime we get exception that Selectchanges or bulkInsert is missing.
2) If the above happens, we de-StoreProvision, then re-provision. That leaves us with client and server having the same set of data. If we proceed with sync then, it takes 7 hours to complete erroring out with lots of INSERT CONFLICTS.
So, when in the mid of syncing, network connectivity fails, COMMIT happens with scopes that ran successfully? Or, few scopes that ran well leave us with partial syncing?
Is there any way of getting rid of numbers of Insert Conflicts except e-provision and re-provision?
Thanks
the transaction scope in sync framework scopes is at the scope level. if synching a scope and its aborted for some reason, all changes applied by that scope gets rolled back.
if you have 3 scopes and one of them fails, only that scope is rolled back, the other two is committed.
when you deprovision, do you deprovision/reprovision the entire store or only that specific scope?