Showing posts with label conflict. Show all posts
Showing posts with label conflict. Show all posts

Wednesday, March 21, 2012

Delay for Conflict Resolution in SS2K5

I have a couple of tables set up with column level tracking and using the "Subscriber Always Wins" conflict resolver.

I am still trying to work out why there is a conflict as the only updates to these rows happen at the subscriber.

What I am finding is that a conflict occurs and there appears to be a delay between the conflict being recognised and then resolved.

The reason I know there is a delay is because this is playing havoc with a data extract that relies on the updates from the subscriber.

For instance, I have a job on which the status is changed. That status change triggers an extract via BizTalk to another system. BizTalk, via an SQL adapter extracts the data from the server and I find that some of it is missing in the extract.

I go and look into the database at the raw data and find that the data is in fact there.

I have certain triggers running which set up export flags in the database to say this data should be exported. This works perfectly when there are no conflicts.

In each case where data has not been extracted, a conflict occurs.

Is there any way to guarantee that the conflict will be resolved at the same time as the synchronisation is complete - i.e. within the same transaction?

I thought replication was supposed to be a single transaction - you get it all or you get nothing.

I'm interested to hear from anyone who has experienced this behaviour.

Thanks

Are you saying that when you run merge agent, there happens a conflict and that conflict is not resolved in the same merge session?

Please explain your scenario more clearly so that we can troubleshoot it.

Also if you could simplify and narrow down the failure, it will be helpful.

|||There is another post on here that details the conflicts we are getting. It drills into some of the details

http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=540159&SiteID=1

Just to clarify, the subscribers we have are all from SQL Mobile.

When the status data gets synchronised, triggers operate on the update/insert to create a record to indicate that the data should be exported from the system. BizTalk is responsible for extracting this data and looks into SQL every ten seconds for data to extract.

I am getting, on occasion, data that is incomplete. Whenever this occurs, the incomplete data is always from one of the two tables I have that are getting conflicts (see other post for this particular problem). When I go back and look at the data in the database, I see what I would have expected the extract process to get.

This to me indicates that there is a delay in the conflict resolution. (Custom - subscriber always wins).

Let me know what you need if this is not enough.

Tuesday, February 14, 2012

Default Resolver

Dear all,
I'm just trying to do merge replication between to DB with Dialup connection.
- If any conflict occur, does the default resolver let the publisher win? or should we use another resolver? how?
- What will happen if the connection totally broken during running synchronization?
Thanks in advance.
ech
Yes, by default the publisher wins a conflict with a subscriber and the
first subscriber takes the place of the publisher in any conflicts with
other subscribers. You can use global conflict resolution (priority numbers
assigned to each subscriber), one of the many inbuilt conflict resolution
algorithms or use a custom resolver. If you want to use a custom resolver
there is an average price stored procedure in the samples which is good to
start with, or you might want to make a COM resolver.
If the connection is broken ('Network Failure') just restart the merge agent
once the connection is up and it will continue.
HTH,
Paul Ibison
|||It's helpful. Thanks Paul.