FIX: Merge Agent Can Resend Changes for Filtered Publications

This article has been archived. It is offered "as is" and will no longer be updated.
BUG #: 363211 (SHILOH_BUGS)
SYMPTOMS
Changes that SQL Server downloads to a subscriber can be sent back (uploaded) to the publisher on the next subsequent synchronization, even though there were no changes made to the rows at the subscriber. This is not expected behavior. After SQL Server downloads a row from a publisher, the row must not be uploaded to the publisher on a subsequent synchronization, unless the row was modified. This problem can occur under the following circumstances:
  • A merge publication contains articles that use subset filters and join filters.
  • A new row is inserted in a table that participates in a join filter, or an existing row is updated such that the row and its related rows move to a new partition.
  • In the process of expanding the subscriber's partition to find rows related to the newly inserted or updated row through join filters, the Merge Agent finds rows that must be sent to the subscriber that do not have a corresponding entry in the msmerge_contents table.
Note that this problem does not result in any data inconsistencies at the publisher.
RESOLUTION

Service pack information

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 How to obtain the latest SQL Server 2000 service pack

Hotfix information

The English version of this fix has the file attributes (or later) that are listed in the following table. The dates and times for these files are listed in coordinated universal time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time tool in Control Panel.

SQL Server 2000 Service Pack 2

This hotfix build is designed to be applied on a server that is running SQL Server 2000 Service Pack 2:
   Date         Time   Version         Size             File name   -----------------------------------------------------------------------------   18-Jan-2002  04:45  2000.80.568.0      29,244 bytes  Dbmslpcn.dll        30-Aug-2002  21:08                    786,432 bytes  Distmdl.ldf   30-Aug-2002  21:08                  2,359,296 bytes  Distmdl.mdf   11-Dec-2002  17:50                        180 bytes  Drop_repl_hotfix.sql   02-Jul-2002  15:35  2000.80.650.0     107,088 bytes  Impprov.dll         19-Jul-2002  16:56                    774,516 bytes  Instdist.sql   11-Dec-2002  17:50                      1,402 bytes  Inst_repl_hotfix.sql   20-Aug-2002  16:24  2000.80.679.0     111,172 bytes  Logread.exe         29-Nov-2002  20:07  2000.80.711.0      90,692 bytes  Msgprox.dll         07-Apr-2002  02:08  2000.80.606.0      62,024 bytes  Odsole70.dll        03-Jan-2002  01:59                     18,185 bytes  Qfe356326.sql   20-Aug-2002  16:47  2000.80.679.0     135,748 bytes  Qrdrsvc.exe        26-Aug-2002  22:49  2000.80.679.0     406,088 bytes  Rdistcom.dll       04-Oct-2001  01:36                    437,302 bytes  Replcom.sql   20-Aug-2002  16:33  2000.80.679.0     152,136 bytes  Replmerg.exe       25-Nov-2002  21:43                  1,004,990 bytes  Replmerg.sql   29-Nov-2002  20:07  2000.80.711.0     221,768 bytes  Replprov.dll   29-Nov-2002  20:07  2000.80.711.0     303,688 bytes  Replrec.dll    04-Oct-2001  01:36                    986,906 bytes  Replsys.sql   04-Oct-2001  01:36                    881,228 bytes  Repltran.sql   26-Aug-2002  22:49  2000.80.679.0     283,208 bytes  Rinitcom.dll   16-Sep-2002  22:31                    390,045 bytes  Securityhotfix.sql   26-Aug-2002  22:49  2000.80.679.0      28,672 bytes  Sqlagent.dll        26-Aug-2002  18:39  2000.80.679.0     311,872 bytes  Sqlagent.exe        28-Aug-2002  16:32  2000.80.679.0      49,152 bytes  Sqlagent.rll   26-Aug-2002  22:49  2000.80.679.0      53,824 bytes  Sqlcmdss.dll   28-Aug-2002  16:40  2000.80.679.0      12,288 bytes  Sqlcmdss.rll   24-Oct-2002  17:37  2000.80.695.0     176,696 bytes  Sqlmap70.dll   11-Dec-2002  19:42  2000.80.715.0   7,467,089 bytes  Sqlservr.exe   01-Nov-2002  18:56  2000.80.698.0      45,644 bytes  Sqlvdi.dll     18-Jan-2002  04:45  2000.80.568.0      29,244 bytes  Ssmslpcn.dll   04-Dec-2002  23:34  2000.80.712.0      82,492 bytes  Ssnetlib.dll        27-Nov-2002  01:14  2000.80.709.0      25,148 bytes  Ssnmpn70.dll        07-Apr-2002  02:08  2000.80.606.0      70,208 bytes  Xplog70.dll         07-Apr-2002  02:08  2000.80.606.0      53,828 bytes  Xpqueue.dll         07-Apr-2002  02:08  2000.80.606.0     156,228 bytes  Xprepl.dll          12-Jul-2002  01:00  2000.80.658.0     279,104 bytes  Xpstar.dll          16-Sep-2002  23:12  2000.80.686.0      98,872 bytes  Xpweb70.dll      				

SQL Server 2000 Service Pack 3

This hotfix build is designed to be applied on a server that is running SQL Server 2000 Service Pack 3:
   Date         Time   Version         Size             File name   ---------------------------------------------------------------------------   08-Feb-2003  05:43                    786,432 bytes  Distmdl.ldf   08-Feb-2003  05:43                  2,359,296 bytes  Distmdl.mdf   30-Jan-2003  01:55                        180 bytes  Drop_repl_hotfix.sql   30-Jan-2003  05:18                    746,470 bytes  Instdist.sql   30-Jan-2003  01:55                      1,402 bytes  Inst_repl_hotfix.sql   08-Feb-2003  06:40  2000.80.765.0      90,692 bytes  Msgprox.dll         08-Feb-2003  03:53                  1,065,895 bytes  Replmerg.sql   08-Feb-2003  06:40  2000.80.765.0     221,768 bytes  Replprov.dll       08-Feb-2003  06:40  2000.80.765.0     307,784 bytes  Replrec.dll         30-Jan-2003  05:18                  1,084,318 bytes  Replsys.sql   08-Feb-2003  06:40  2000.80.765.0     176,696 bytes  Sqlmap70.dll        08-Feb-2003  06:40  2000.80.765.0      57,920 bytes  Sqlrepss.dll        08-Feb-2003  06:41  2000.80.765.0   7,528,529 bytes  Sqlservr.exe        08-Feb-2003  06:40  2000.80.765.0      45,644 bytes  Sqlvdi.dll          08-Feb-2003  06:40  2000.80.765.0      82,492 bytes  Ssnetlib.dll           				
Note: Because of file dependencies, the most recent hotfix or feature that contains the files may also contain additional files.

For this fix to take affect, you must either:

  • Drop, and then re-create the publication that is experiencing the problem. If you use this method, all the subscribers must re-subscribe.

    -or-
  • Generate a new snapshot. If you use this method, you must reinitialize all the subscribers.

Note: You must apply this fix to all the nodes in the merge replication topology.


STATUS
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.This problem was first corrected in Microsoft SQL Server 2000 Service Pack 4.
MORE INFORMATION
This bug does not result in any data inconsistencies.

This hotfix is also available in the MS03-031 security patch.For additional information about the MS03-031 security patch, click the following article number to view the article in the Microsoft Knowledge Base:
821277 MS03-031: Security patch for SQL Server 2000 Service Pack 3
Properties

Article ID: 810688 - Last Review: 02/27/2014 18:43:04 - Revision: 6.3

  • Microsoft SQL Server 2000 Developer Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2000 Personal Edition
  • Microsoft SQL Server 2000, Workgroup Edition
  • Microsoft SQL Server 2000 Desktop Engine (Windows)
  • Microsoft SQL Server 2000 Enterprise Edition 64-bit
  • kbnosurvey kbarchive kbhotfixserver kbqfe kbqfe kbsqlserv2000presp4fix kbfix kbbug KB810688
Feedback