| Previous | Next |
| hrAfterInitialization | hrInvalidOperation |
hrLogCorrupted
Diagnostic focus
hrLogCorrupted means transaction log files required by the database fail structural or integrity validation.
This is the legacy Directory Service backup/restore HRESULT form of JET_errLogCorrupted (0xC800073C).
The key comparison is: hrReadVerifyFailure can target a database page; this result identifies the log stream. The first useful observation is to preserve the entire log sequence, checkpoint, database header state, generations, checksums, and storage events. This evidence distinguishes access, operating-system I/O, integrity verification, missing files, and log corruption.
The ESE objects in play
| Diagnostic layer | database, log, checkpoint, or temporary files and the Windows storage/security boundary |
|---|---|
| Typical API surface | database open/attach, log recovery, temporary sort/maintenance, and file rename paths |
| Code-specific condition | transaction log files required by the database fail structural or integrity validation |
| First corrective direction | stop startup retries that mutate recovery state and use supported recovery with a complete verified log set |
The underlying file, offset, access mode, and Win32 status are more useful than a generic application exception. Database and log files should not be manually fabricated, renamed, or deleted as a first response.
Evidence that resolves the ambiguity
- Code-specific observation: preserve the entire log sequence, checkpoint, database header state, generations, checksums, and storage events.
- storage, filter-driver, antivirus, and system events from the same time window; associate it with this result rather than with a later generic exception.
- the exact file, offset, length, access mode, and underlying Win32 status; associate it with this result rather than with a later generic exception.
- database, log, checkpoint, and temporary-file generations present at the first event.
Nearby results that mean something different
hrFileNotFound | a syntactically valid database-related path names a file that is absent at call time |
|---|---|
hrPermissionDenied | the caller lacks permission for the requested ESE operation or protected resource |
hrFileAccessDenied | ESE could not open or manipulate a database-related file with the requested access |
A disciplined correction path
- Freeze the failing request context and record
0xC800073C, the Jet API name, and the current instance/session ownership. - Verify the code-specific precondition: preserve the entire log sequence, checkpoint, database header state, generations, checksums, and storage events.
- Apply the targeted fix: stop startup retries that mutate recovery state and use supported recovery with a complete verified log set.
- Before retrying the operation, reconcile file identity, integrity evidence, and the supported recovery state.
Actions that can hide or worsen the problem
- Do not delete, rename, replace, or fabricate ESE files before preserving the complete set.
- Do not run destructive repair while a storage or access fault is still active.
Technical references
- ESE files.
- JET error codes
- ESE database anatomy
- ESE source repository
- Microsoft: JET_ERR enumeration
Looking for a different code? Search another status or error code.
