Article ID: 191916 - View products that this article applies to.
This article was previously published under Q191916
This article has been archived. It is offered "as is" and will no longer be updated.
Advanced: Requires expert coding, interoperability, and multiuser skills.
When you try to synchronize two members of a replica set, and the current date on your computer is January 1, 2000 or later, you may receive the following error message:
When you click OK, you are left at the Synchronize Replica dialog box.
Synchronization between replica '<source replica>' and replica '<target replica>' failed. Two members of the replica set cannot be synchronized because there is no common point to start the synchronization.
The Microsoft Jet database engine 3.5 expression service mishandles date entries in the MSysExchangeLog table in replicas. When a replica set that was created before the year 2000 is compacted after the year 2000, any exchange information relating to synchronizations after the year 2000 is deleted from the MSysExchangeLog table. Once this information is deleted, the generation information in the MSysExchangeLog table and the MSysGenHistory table does not match, and the replicas cannot be synchronized.
To prevent this problem from happening perform one of the following methods:
This problem no longer occurs in Microsoft Office 97 Service Release 2 (SR-2).
NOTE: Installing Office 97 SR-2 will not correct this problem if the error, from the Symptoms section, has already occurred.
When a synchronization occurs in Microsoft Access 97, an entry is made in the MSysGenHistory table to relate the changes that were exchange during the synchronization to a generation number. An entry is also made in the MSysExchangeLog table to indicate the date/time, partner replicas, and last generation exchanged for each synchronization. The Jet database engine uses these entries during each synchronization to determine which generations (changes) need to be exchanged between the two replicas. If one of the members requires a generation that is no longer being tracked by the second member, then there is no common point to start the synchronization, and the synchronization will fail.
When a replica set that was created before the year 2000 is used after the year 2000, erroneous dates are entered into these tables. The erroneous dates make it appear that an exchange that was actually performed on January 1, 2000 was performed on January 1, 100. When the database is compacted, any entries in the MSysExchangeLog table that exceed the replica's retention period are deleted. Because records entered in the year 100 exceed that period of time, they are deleted. Also, references to all but the last generation are deleted from the MSysGenHistory table. As a result of these deletions, the next time a synchronization is performed, the generations that need to be exchanged according to the MSysExchangeLog table will no longer exist in the MSysGenHistory table. At this point you receive the error described in the "Symptoms" section of this article.
Steps to Reproduce Problem
Article ID: 191916 - Last Review: October 10, 2013 - Revision: 3.1