Article ID: 198633 - View products that this article applies to.
This article was previously published under Q198633
For a Microsoft Access 97 version of this article, see 173006
Advanced: Requires expert coding, interoperability, and multiuser skills.
When you synchronize two replicas, you may receive the following error message:
The error may also occur when you run a Visual Basic for Applications procedure that uses the Synchronize method.
Synchronization between '<Replica1.mdb>' and '<Replica2.mdb>' failed.
File sharing lock count exceeded (Error 3052).
A member of the replica set contains too many changes for synchronization to be completed successfully. For example, if one of the replicas has increased in size by 100 megabytes (MB) because you have added a large number of new records, you may receive this error. The replica that contains too many changes may be the database from which you are trying to synchronize, or it may be another member of the replica set.
In Microsoft Access 2000, you can take advantage of a feature that allows you to increase the MaxLocksPerFile setting for Microsoft Jet database engine 4.0 by editing the Windows Registry. The default value of this setting is 9500. However, changing this value is not recommended if one of the replicas is located on a Novell Netware server, because the server's maximum record locks per connection is 10000. If both replicas are located on servers running Microsoft Windows NT 4.0 or Microsoft Windows 95 or later, the maximum value of this setting is limited only by available resources.
Important This section, method, or task contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs. For more information about how to back up and restore the registry, click the following article number to view the article in the Microsoft Knowledge Base:
(https://support.microsoft.com/kb/322756/ )How to back up and restore the registry in Windows
Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article.
The MaxLocksPerFile setting allows the Microsoft Jet database engine to complete large transactions without exceeding a specified record lock limit. Instead of exceeding this limit, the Jet database engine splits a transaction into two or more parts; after one part has been committed, the Jet database engine frees the locks so that they can be reused. As a result, fewer locks are required to complete the transaction. This prevents a Novell Netware server, which limits the maximum record locks per connection to 10000, from crashing when that value is exceeded.
However, the Jet database engine does not split the transaction when it synchronizes two replicas. If the transaction cannot be completed within the limit specified in the MaxLocksPerFile setting unless it is split into parts, you receive the error described in the "Symptoms" section, and the synchronization does not occur.
Steps to Reproduce ProblemWARNING: The following steps may require up to 400 MB of free disk space. The sample procedure fills a table with a large amount of data; running it may take a long time, during which your CPU is unavailable.
For more information about MaxLocksPerFile setting, click Microsoft Access Help on the Help menu, type Initializing the Microsoft Jet 4.0 Database Engine Driver in the Office Assistant or the Answer Wizard, and then click Search to view the topic.
For additional information about replication, please see the following article in the Microsoft Knowledge Base:
(https://support.microsoft.com/kb/190766/EN-US/ )Jet 4.0 Replication White Papers Available in MSDN Online Library
Article ID: 198633 - Last Review: July 29, 2004 - Revision: 3.1