| Previous | Next |
| hrInvalidCodePage | hrCurrencyStackOutOfMemory |
hrVersionStoreOutOfMemory
Where the operation crossed the contract
hrVersionStoreOutOfMemory means the version store cannot retain more transactional versions under current workload and limits.
This is the legacy Directory Service backup/restore HRESULT form of JET_errVersionStoreOutOfMemory (0xC800042D).
The key comparison is: hrOutOfMemory is general allocation failure; this code points to transaction-version pressure. The first useful observation is to capture MaxVerPages/PreferredVerPages, oldest transaction age, update rate, and session ownership. This evidence identifies the exhausted pool so a leak, long transaction, concurrency spike, and hard capacity limit are not confused.
Reconstruct the engine state
- Code-specific observation: capture MaxVerPages/PreferredVerPages, oldest transaction age, update rate, and session ownership.
- the oldest transaction, longest-held cursor, or file growth operation retaining the resource; associate it with this result rather than with a later generic exception.
- live resource counts grouped by session and request owner; associate it with this result rather than with a later generic exception.
- relevant JET_param values and process or system capacity at first failure.
The ESE objects in play
| Diagnostic layer | bounded engine, process, and storage resources |
|---|---|
| Typical API surface | instance system parameters, sessions, cursors, temporary tables, database attachment, and file growth |
| Code-specific condition | the version store cannot retain more transactional versions under current workload and limits |
| First corrective direction | end or split long transactions, reduce update concurrency, and review version-store parameters |
Long transactions can retain versions and indirectly amplify memory and log pressure. A retry without closing owners or adding capacity often repeats the same failure and increases load.
Repair without destroying evidence
- Freeze the failing request context and record
0xC800042D, the Jet API name, and the current instance/session ownership. - Verify the code-specific precondition: capture MaxVerPages/PreferredVerPages, oldest transaction age, update rate, and session ownership.
- Apply the targeted fix: end or split long transactions, reduce update concurrency, and review version-store parameters.
- Before retrying the operation, reconcile resource counts, owner cleanup, and capacity after the correction.
Do not collapse these codes together
hrTooManySorts | temporary sort resources are exhausted by concurrent or unreleased sort operations |
|---|---|
hrCurrencyStackOutOfMemory | cursor navigation state exhausted the engine resource used to preserve currency |
hrTooManyOpenTables | the workload exhausted open table/cursor capacity |
Actions that can hide or worsen the problem
- Do not raise limits before checking ownership and release paths.
- Do not create a retry storm while the exhausted resource remains unavailable.
Technical references
- JET_param enumeration.
- Transactions and save points
- ESE files and storage paths
- ESE source repository
- Microsoft: JET_ERR enumeration
Looking for a different code? Search another status or error code.