FIX: Spurious Merge Conflict After Metadata Proxy Failure (308765)



The information in this article applies to:

  • Microsoft SQL Server 2000 (all editions)

This article was previously published under Q308765
BUG #: 353765 (SHILOH_BUGS)

SYMPTOMS

If the Merge Agent fails to apply proxied metadata to a Subscriber for an INSERT or UPDATE operation, and the Subscriber subsequently deletes the row for which the Publisher is proxying metadata, the merge reconciler detects a spurious update or delete conflict. The Merge Agent updates the Subscriber with the previously deleted row because of the conflict.

This behavior only occurs for local merge replication subscribers.

CAUSE

When metadata proxying for Subscriber changes fails, the Merge Agent retries the proxy operation. In the meantime, if the Subscriber deletes the row, the merge reconciler does not have a check in place determine if the row still exists on the Subscriber. After the proxy operation for such a row completes, the Merge Agent detects a conflict that it should not.

RESOLUTION

To resolve this problem, obtain the latest service pack for Microsoft SQL Server 2000. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

290211 INF: How to Obtain the Latest SQL Server 2000 Service Pack

The Merge Agent reconciler component now performs an internal check to detect that the delete at the Subscriber logically followed the publisher update and deletes the row at the Publisher as well.

STATUS

Microsoft has confirmed that this is a problem in Microsoft SQL Server 2000.

This problem was first corrected in Microsoft SQL Server 2000 Service Pack 2.

Modification Type:MajorLast Reviewed:10/16/2003
Keywords:kbbug kbfix KB308765