What does HRESULT 0xC8000423 (hrTooManyActiveUsers) mean?

 
Previous Next
hrNotInTransaction hrInvalidCountry

hrTooManyActiveUsers

Why this is more specific than the message text

hrTooManyActiveUsers means the engine reached its active-user or concurrent-session workload limit.

This is the legacy Directory Service backup/restore HRESULT form of JET_errTooManyActiveUsers (0xC8000423).

The key comparison is: hrOutOfSessions is allocation exhaustion; this code emphasizes active database users. The first useful observation is to count active sessions, long transactions, blocked requests, and connection-pool ownership. This evidence identifies the exhausted pool so a leak, long transaction, concurrency spike, and hard capacity limit are not confused.

Related ESE conditions

hrOutOfSessionsthe instance cannot allocate another JET_SESID
hrTooManyAttachedDatabasesthe instance reached its attached-database limit
hrOutOfMemoryESE or its caller could not reserve memory required for the operation

The ESE objects in play

Diagnostic layerbounded engine, process, and storage resources
Typical API surfaceinstance system parameters, sessions, cursors, temporary tables, database attachment, and file growth
Code-specific conditionthe engine reached its active-user or concurrent-session workload limit
First corrective directionshed or queue work, end abandoned sessions, and shorten transactions before raising limits

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.

Data for a reproducible case

  • Code-specific observation: count active sessions, long transactions, blocked requests, and connection-pool ownership.
  • relevant JET_param values and process or system capacity at first failure; associate it with this result rather than with a later generic exception.
  • the oldest transaction, longest-held cursor, or file growth operation retaining the resource.
  • live resource counts grouped by session and request owner.

Corrective workflow

  1. Freeze the failing request context and record 0xC8000423, the Jet API name, and the current instance/session ownership.
  2. Verify the code-specific precondition: count active sessions, long transactions, blocked requests, and connection-pool ownership.
  3. Apply the targeted fix: shed or queue work, end abandoned sessions, and shorten transactions before raising limits.
  4. Before retrying the operation, reconcile resource counts, owner cleanup, and capacity after the correction.

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


Looking for a different code? Search another status or error code.