Showing posts with label resolution. Show all posts
Showing posts with label resolution. Show all posts

Thursday, 8 March 2012

conlict resolution question (merge repl)

windows 2000 / sql 2000
in the conflict resolution dialog I get the 'winner' columns listed with
data and on the right 'loser' side I see this message instead of data:
"The error described above occurred when trying to insert or update this
data at the other server. If you ignore this conflict, you should resolve it
through other means. Consider logging the details of this conflict, then
sending the log entry to your system administrator"
My issue is that the subscriber machine ran out of hard drive space so all
the inserts (and some updates) were failing to get written to the
subscriber. Suprisingly sql server says thats a 'conflict'. I would rather
something like that 'fail' replication so its discovered sooner. Anyway:
1) I want to keep the update that occured at the publisher but I don't know
if thats the 'winner' or 'loser' here? its not clear. The winner side shows
data, and the loser side shows the message I pasted above. I have several of
these and I am not personally familiar with the db data so I can't tell from
looking at the data if its the 'updated' one or not. How do I know? (it sure
would be nice if the interface actually told you which machine's data you
were looking at along with 'winner' or 'loser')
Hello,
I have the same problem. I think it will be created by multiple
publications on the same table. Is this also you're replication
environment? I don't have resolved the problem at this time. If you do,
please can you send me your resolution?
djc wrote:
> windows 2000 / sql 2000
> in the conflict resolution dialog I get the 'winner' columns listed with
> data and on the right 'loser' side I see this message instead of data:
> "The error described above occurred when trying to insert or update this
> data at the other server. If you ignore this conflict, you should resolve it
> through other means. Consider logging the details of this conflict, then
> sending the log entry to your system administrator"
> My issue is that the subscriber machine ran out of hard drive space so all
> the inserts (and some updates) were failing to get written to the
> subscriber. Suprisingly sql server says thats a 'conflict'. I would rather
> something like that 'fail' replication so its discovered sooner. Anyway:
> 1) I want to keep the update that occured at the publisher but I don't know
> if thats the 'winner' or 'loser' here? its not clear. The winner side shows
> data, and the loser side shows the message I pasted above. I have several of
> these and I am not personally familiar with the db data so I can't tell from
> looking at the data if its the 'updated' one or not. How do I know? (it sure
> would be nice if the interface actually told you which machine's data you
> were looking at along with 'winner' or 'loser')

Friday, 24 February 2012

Conflict Resolution: Is defining local subscription enough: How to get log of lost record.

Hello All,
I am very much thankful to you all for providing much needed help, and
once again I am at the group with my query. In my replication
implementation in which I have around 100 subscriber I need to decide
what conflict resolution policy should be employed.
We, in our implementation just want that publisher always wins in case
if there is any conflict. Is it enough to create a local subscription
to acheieve this.
Which will ensure that in case of any conflict with the publisher
publisher always wins the conflict.
Also we want that losing party should get log of inforamtion about the
lost record, is there any way to acheive this?
Can you define what you mean by a local subscription?
The best way to alert the user of conflicts is to use the com object
C:\Program Files\Common Files\Microsoft Shared\Database
Replication\WZCNF.DLL
This will display a list of the conflicts. You will then have to poll for
them and send out alerts.
Subscriptions managed by Windows Synchronization Manager using the
interactive resolved will allow the user to manage the conflict when WSM
runs.
Hilary Cotter
Looking for a SQL Server replication book?
http://www.nwsu.com/0974973602.html
"Ruchir" <ruchirdhar@.gmail.com> wrote in message
news:88216eb7.0501172243.6e17e067@.posting.google.c om...
> Hello All,
> I am very much thankful to you all for providing much needed help, and
> once again I am at the group with my query. In my replication
> implementation in which I have around 100 subscriber I need to decide
> what conflict resolution policy should be employed.
> We, in our implementation just want that publisher always wins in case
> if there is any conflict. Is it enough to create a local subscription
> to acheieve this.
> Which will ensure that in case of any conflict with the publisher
> publisher always wins the conflict.
> Also we want that losing party should get log of inforamtion about the
> lost record, is there any way to acheive this?

Conflict Resolution: Is defining local subscription enough: How to get log of lost record.

Publisher always wins is the default, so you don't need
to do anything to achieve this.
To get notification of a conflict, you could create a
polling routine (there's no alert that I know of).
HTH,
Paul Ibison SQL Server MVP, www.replicationanswers.com
(recommended sql server 2000 replication book:
http://www.nwsu.com/0974973602p.html)
hi Paul,
Thanks for you reply, I have few more queries
1. Where is this conflict information specially the losing row information is stored, at the publisher side or at the subscriber side? if losing row information is maintained at the publisher side is there any way so that we can store this information at the publisher side.
2. As you talked about creating a polling routine to get notification of conflict, in my implementation I just want a log file which contain information about the losing row nothing else, will the polling routine you are referring to can do the same and alsoI have not much information about how to write polling routine can you throw some light on it?
regards.
Ruchir.

Quote:

Originally posted by Paul Ibison
Publisher always wins is the default, so you don't need
to do anything to achieve this.
To get notification of a conflict, you could create a
polling routine (there's no alert that I know of).
HTH,
Paul Ibison SQL Server MVP, www.replicationanswers.com
(recommended sql server 2000 replication book:
http://www.nwsu.com/0974973602p.html)

|||Have a look at the tables
conflict_<PublicationName>_<ArticleName>_usertable name
and
MSmerge_delete_conflicts
at the publisher.
The polling routine would be not much more than a job
that runs regularly and does a select from this table,
then sends the results in an email as an attachment. The
origin_datasource column could be used to determine the
correct recipient.
HTH,
Paul Ibison SQL Server MVP, www.replicationanswers.com
(recommended sql server 2000 replication book:
http://www.nwsu.com/0974973602p.html)

Conflict Resolution options disabled

I am using SQL Server 2000 and Enterprise Manager. I have a publication and
I am trying to follow some instructions for configuring conflict resolution.
I open the Publication properties, go to the Articles tab, open an Article by
clicking the ellipses, and then go to the Resolver tab. All of the controls
on the Resolver tab are disabled. Is there something else I must do first to
enable conflict resolution on at the Database or Publication level?
Some settings are database specific. Most likely what has happened is the
article you are trying to change the resolver type to is published in a
different publication. To make this work you will have to drop it from
existing publication, change the resolver type and then put it back in.
Looking for a SQL Server replication book?
http://www.nwsu.com/0974973602.html
Looking for a FAQ on Indexing Services/SQL FTS
http://www.indexserverfaq.com
"Michael" <Michael@.discussions.microsoft.com> wrote in message
news:454325A9-2D83-4664-9ECB-9143C5257BDF@.microsoft.com...
>I am using SQL Server 2000 and Enterprise Manager. I have a publication
>and
> I am trying to follow some instructions for configuring conflict
> resolution.
> I open the Publication properties, go to the Articles tab, open an Article
> by
> clicking the ellipses, and then go to the Resolver tab. All of the
> controls
> on the Resolver tab are disabled. Is there something else I must do first
> to
> enable conflict resolution on at the Database or Publication level?

Conflict resolution logs

Is conflict resolution data stored somewhere? For example: If you resolve a
conflict and choose not to have the logs mailed to you. Is there a way to go
back and see what record it was that had the conflict?
TIA
Paul Bauer
Paul,
look for a table whose name starts with 'conflict' and ends with the
article's 'tablename'. This table has the same structure as the table on
which it is based and is stored at the Publisher for applications that use
centralized conflict logging, and at the Subscriber for applications that
use decentralized conflict logging. Another conflict table generated during
merge replication setup is MSmerge_delete_conflicts. The table is a log for
deleted conflicts. It contains information for deleted rows that conflicted
with an update and lost the conflict, or because a delete was undone to
achieve data convergence.
You can look at these tables directly or use the conflict viewer.
HTH,
Paul Ibison
|||Paul,
This table contains no data. I believe this is because the conflict has been
resolved. Is there another place where the resolution of the conflict is
stored?
Paul
"Paul Ibison" <Paul.Ibison@.Pygmalion.Com> wrote in message
news:OX5LN7OhEHA.244@.TK2MSFTNGP10.phx.gbl...
> Paul,
> look for a table whose name starts with 'conflict' and ends with the
> article's 'tablename'. This table has the same structure as the table on
> which it is based and is stored at the Publisher for applications that use
> centralized conflict logging, and at the Subscriber for applications that
> use decentralized conflict logging. Another conflict table generated
> during
> merge replication setup is MSmerge_delete_conflicts. The table is a log
> for
> deleted conflicts. It contains information for deleted rows that
> conflicted
> with an update and lost the conflict, or because a delete was undone to
> achieve data convergence.
> You can look at these tables directly or use the conflict viewer.
> HTH,
> Paul Ibison
>
|||Paul,
resolved conflicts still go into these tables for the conflict viewer. There
are no other tables apart from if you are doing some custom logging (custom
conflict resolution).
HTH,
Paul Ibison

Conflict resolution for Transactional Replication with Updating Subscribers

Hi.
I'm trying to establish whether Transactional Replication with
Updating Subscribers meets my requirements. I have chosen to use
"publisher wins" for the conflict resolution. (I'm using SqlServer
2005 Developer Edition on Win XP SP2 on both machines)
When I cause a conflict to occur by making an update to rows with the
same PK on both servers, the publisher indicates that there has been a
conflict, and that it chose the publisher as the winner. However, the
losing transaction on the subscriber does not seem to be rolled back
like this article says it should: http://msdn2.microsoft.com/en-us/library/ms151177.aspx.
I'm then left in the state where the two tables are out of sync.
Any ideas anyone?
Cheers!
Some extra info...
I forgot to mention earlier that I'm using a push subscription.
I've found that if I choose 'subscriber-wins' instead, then it seems
to work OK, but unfortunately this is not what I require.
'Normal' changes to data on both servers are correctly replicated to
the other server. It's just publisher-wins conflict resolution that
doesn't seem to work. The conflict is detected, but the publisher's
data is not applied to the subscriber (i.e. the subscriber change is
not rolled back).. Any further changes to that row fail to go through
following the conflict.
Any comments appreciated,
Rich.
On 23 Feb, 08:22, ricisb...@.yahoo.co.uk wrote:
> Hi.
> I'm trying to establish whether Transactional Replication with
> Updating Subscribers meets my requirements. I have chosen to use
> "publisher wins" for the conflict resolution. (I'm using SqlServer
> 2005 Developer Edition on Win XP SP2 on both machines)
> When I cause a conflict to occur by making an update to rows with the
> same PK on both servers, the publisher indicates that there has been a
> conflict, and that it chose the publisher as the winner. However, the
> losing transaction on the subscriber does not seem to be rolled back
> like this article says it should:http://msdn2.microsoft.com/en-us/library/ms151177.aspx.
> I'm then left in the state where the two tables are out of sync.
> Any ideas anyone?
> Cheers!

conflict resolution

I have a merge replication setup.
I am using column level tracking
Subscribers are CLIENTS, so they are at the same level
Initially values in table t1 as
C1 -> 1
C2 -> 2
C3 -> 3
C4 -> 4
Sub1 updates,
C1->11
C2->22
Sub2 updates,
C2->222 (CONFLICT)
C3->33
1.sub1 synchronizes
2.sub2 synchronizes
3.sub1 synchronizes
My final values are,
C1->11
C2->22
C3->3
C4->4
I am expecting
C1->11
C2->22
C3->33
C4->4
Can anyone put some light?
What does the conflict viewer reveal?
Hilary Cotter
Looking for a SQL Server replication book?
http://www.nwsu.com/0974973602.html
Looking for a FAQ on Indexing Services/SQL FTS
http://www.indexserverfaq.com
"Ravi Lobo" <RaviLobo@.discussions.microsoft.com> wrote in message
news:33A93D07-D0DB-416D-8E7A-21D0FB06EEEB@.microsoft.com...
>I have a merge replication setup.
> I am using column level tracking
> Subscribers are CLIENTS, so they are at the same level
> Initially values in table t1 as
> C1 -> 1
> C2 -> 2
> C3 -> 3
> C4 -> 4
> Sub1 updates,
> C1->11
> C2->22
> Sub2 updates,
> C2->222 (CONFLICT)
> C3->33
> 1. sub1 synchronizes
> 2. sub2 synchronizes
> 3. sub1 synchronizes
> My final values are,
> C1->11
> C2->22
> C3->3
> C4->4
> I am expecting
> C1->11
> C2->22
> C3->33
> C4->4
> Can anyone put some light?
>

Conflict Resolution

Is it possible to have a message or notification if/when conflicts occur?
Is this art of any standard resolver or does this require a custom resolver
to be created?
TIA
Tony S.
Tony,
you could use a custom resolver or regularly poll the conflict table.
Cheers,
Paul Ibison SQL Server MVP, www.replicationanswers.com
(recommended sql server 2000 replication book:
http://www.nwsu.com/0974973602p.html)
|||Thanks Paul
Tony S.
"Paul Ibison" <Paul.Ibison@.Pygmalion.Com> wrote in message
news:%23dijkUCxFHA.2212@.TK2MSFTNGP15.phx.gbl...
> Tony,
> you could use a custom resolver or regularly poll the conflict table.
> Cheers,
> Paul Ibison SQL Server MVP, www.replicationanswers.com
> (recommended sql server 2000 replication book:
> http://www.nwsu.com/0974973602p.html)
>
|||Hi Paul,
Is there only one conflict table or one conflict table per db table ?
Is the conflict table stored in the SQLCE db or only at the SQL2000 DB ?
Thank you for your time
Panayotis
Paul Ibison wrote:
> Tony,
> you could use a custom resolver or regularly poll the conflict table.
> Cheers,
> Paul Ibison SQL Server MVP, www.replicationanswers.com
> (recommended sql server 2000 replication book:
> http://www.nwsu.com/0974973602p.html)
>
|||Panos,
there'll be one per table in the format:
conflict_<PublicationName>_<ArticleName>_usertable name
These tables are stored at the publisher.
Cheers,
Paul Ibison SQL Server MVP, www.replicationanswers.com
(recommended sql server 2000 replication book:
http://www.nwsu.com/0974973602p.html)

Conflict procedures gone weird...

I am using SQLServer7 with SP4 merge replicating to PocketPC devices. Everything works fine EXCEPT conflict resolution...

After publishing I noticed that the conflict_tablename tables and sp_cft_ storedprocedures didn't get created. So I picked up the .cft files created in the ReplData/unc/... directory and ran them myself through Query Analyser.

Now the conflict resolution procedure are called when a conflict occurs BUT they return the following errors....

Message: The process could not log conflict information
Source: Merge Replication Provider

followed by...

Message: {[call sp_cft_59....](?,?,?,?,0x00)}
Source: ServerMachineName

followed by...

Message: Too many parameter arguments were supplied for procedure sp_cft_59...
Source: ServerMachineName

Ok, it seems the addition of the 0x00 in the call is incorrect so can someone please help me out with this. Please note that I'm only Enterprise Manager proficient in SQLServer.

Thank you,
jhAwww please!! Someone out there must know something about this. Or can anybody point me at another resource that might be useful?

Thnx