"Record Lock threshold exceeded" under Novell Netware

TSB1009 | Friday, 9 March 2001

finPOWER, emPOWER and fdPOWER can use either a Microsoft Access or Microsoft SQL Server database. This article applies to Microsoft Access (Jet) databases.

When an Access database is located on a Novell NetWare server, Access uses the locking facilities provided by the server. The defaults in NetWare allow a single connection to have 500 current locks at any given time. Because Access tries to lock every record involved in a query before carrying out the operation it is possible to encounter this limit on moderately large databases.

When this occurs you may receive the following error message on the NetWare server:

MM-DD-YY HH:MM:SS PM: SERVER-4.11-679 Station x record lock threshold exceeded.
Total violations #####.

  • This error can also cause a NetWare server to stop responding (crash).
  • Within the POWER Series a Run-time error 3218 "Couldn't update; currently locked" or similar may occur.

Amending the number of Record Locks

It is therefore recommended that you increase the number of locks available to avoid encountering the lock limit. Novell and Microsoft differ in their recommendations. Novell states "A rule of thumb is to double the parameters and monitor if the problem persists." Microsoft suggests increasing the settings to their maximums.

The default values for NetWare 4.11 are:

  • Maximum Record Locks Per Connection (default: 500, range 10 - 100000)
  • Maximum File Locks Per Connection (default: 250, range 10 - 1000)
  • Maximum Record Locks (default: 20000, range 100 - 400000)
  • Maximum File Locks (default: 10000, range 100-100000)

To increase the number of locks available, enter the following commands at the file server console:

SET Maximum Record Locks Per Connection=1000
SET Maximum File Locks Per Connection=500
SET Maximum Record Locks=40000
SET Maximum File Locks=20000

Microsoft recommends the following changes:

SET Maximum Record Locks Per Connection = 10000
SET Maximum Record Locks = 200000

The first command specifies the maximum number of locks in any single connection, and the second command specifies the maximum number of locks that the server can keep track of. These values (10,000 and 200,000 respectively) are the maximums that NetWare can accommodate.

Note. To make the changes permanent the Startup.ncf file needs to be modified.