Hello,
I have a couple of questions with respect to conflicts. We are in the
process of testing whether replication will work for us. We have about 60
mobile computers that use access right now and data is transfered via a
vb.net app. We are planning on getting rid of the vb.net app and having sql
manage the replication. My question is how would I resolve conflicts(please
see some of the scenarios below)? We are planning on using merge replication
with msde 2005 and sql2k (we are planning on upgrading to sql2k5 when it's
released).
Client Scenairo:
1. Client computer is disconnected during the day.
2. Client enters data during the day
3. Client connects to the internet at night
4. Replication job is setup to start at 9pm and end a 3am
Technical staff Scenario
1. Conflict is confirmed via Enterprise Manager (the next day)
2. Techinical Staff resolve conflict on Sql2k
Next time client connects conflict is passed to client?
We have a table called datacollection. This tables data isn't fully trusted
until a bit field called approved is true. If we have a conflict with this
data how do we accept the clients opposed to the server.
For example.
1. Client adds a row into datacollection (day one)
2. Client merges data (day one)
3. Conflict arrives (night one)
4. Client modifies data the next day (day two)
5. What happens? (day two)
Any help and or documentation would be greatly appreciated.
Jake
Basically when you use the conflict resolver to override the default
conflict resolution mechanism, the change is replicated to all subscribers
and the publisher again.
Having the conflict resolution taking place the next day could itself
introduce more conflicts. Your best bet is to resolve them with the most
appropriate conflict resolver and resolve them in the conflict viewer as
soon as possible.
From your scenario its hard to see what will happen. Here are two
possibilities.
1. Client adds a row into datacollection (day one)
2. Client merges data (day one)
3. Conflict arrives (night one), Publisher wins, Subscriber's insert is
rolled back, Publishers row is replicated to the Subscriber.
4. Client modifies data the next day (day two).
5. Client merges data (day two)
6. no conflict
Second possibility
1. Client adds a row into datacollection (day one). Client adds child
records.
2. Client merges data (day one)
3. Conflict arrives (night one), Publisher wins, Subscriber's insert is
rolled back, child records are deleted. Publishers row is replicated to the
Subscriber.
4. Client modifies data the next day (day two). Client attempts to modify
child record. Child record is missing and is added again. Publisher
simultaneous deletes parent record.
5. Client merges data (day two)
6. Child conflict and parent conflicts. Subscribers data is rolled back.
The more subscribers you have the more complex the rolling back can get. For
instance a conflict generated on a 3rd subscriber, can cause updates on all
subscribers, if you don't have filtering.
"Jake" <rondican@.hotmail.com> wrote in message
news:e4kwM28rEHA.3588@.tk2msftngp13.phx.gbl...
> Hello,
> I have a couple of questions with respect to conflicts. We are in the
> process of testing whether replication will work for us. We have about 60
> mobile computers that use access right now and data is transfered via a
> vb.net app. We are planning on getting rid of the vb.net app and having
> sql manage the replication. My question is how would I resolve
> conflicts(please see some of the scenarios below)? We are planning on
> using merge replication with msde 2005 and sql2k (we are planning on
> upgrading to sql2k5 when it's released).
> Client Scenairo:
> 1. Client computer is disconnected during the day.
> 2. Client enters data during the day
> 3. Client connects to the internet at night
> 4. Replication job is setup to start at 9pm and end a 3am
> Technical staff Scenario
> 1. Conflict is confirmed via Enterprise Manager (the next day)
> 2. Techinical Staff resolve conflict on Sql2k
> Next time client connects conflict is passed to client?
> We have a table called datacollection. This tables data isn't fully
> trusted until a bit field called approved is true. If we have a conflict
> with this data how do we accept the clients opposed to the server.
> For example.
> 1. Client adds a row into datacollection (day one)
> 2. Client merges data (day one)
> 3. Conflict arrives (night one)
> 4. Client modifies data the next day (day two)
> 5. What happens? (day two)
> Any help and or documentation would be greatly appreciated.
> Jake
>
>
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment