| Previous | Next |
| hrOutOfFileHandles | hrInvalidPath |
hrDiskIO
Where the operation crossed the contract
hrDiskIO means the storage stack failed an ESE read, write, flush, or metadata operation.
This is the legacy Directory Service backup/restore HRESULT form of JET_errDiskIO (0xC80003FE).
The key comparison is: hrReadVerifyFailure is data-integrity verification after a read; this result is the I/O operation itself failing. The first useful observation is to capture the underlying Win32 error, file, offset, byte count, access type, latency, and storage/system events.
Reconstruct the engine state
- Code-specific observation: capture the underlying Win32 error, file, offset, byte count, access type, latency, and storage/system 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.
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 | the storage stack failed an ESE read, write, flush, or metadata operation |
| First corrective direction | stabilize storage and preserve evidence before allowing recovery or repeated writes |
Database and log files should not be manually fabricated, renamed, or deleted as a first response. Integrity failures require evidence preservation before repair or replay changes the on-disk state.
Repair without destroying evidence
- Freeze the failing request context and record
0xC80003FE, the Jet API name, and the current instance/session ownership. - Verify the code-specific precondition: capture the underlying Win32 error, file, offset, byte count, access type, latency, and storage/system events.
- Apply the targeted fix: stabilize storage and preserve evidence before allowing recovery or repeated writes.
- Before retrying the operation, reconcile file identity, integrity evidence, and the supported recovery state.
Do not collapse these codes together
hrCannotRename | ESE could not complete the temporary-to-final rename used by a database or maintenance operation |
|---|---|
hrFileAccessDenied | ESE could not open or manipulate a database-related file with the requested access |
hrAccessDenied | ESE rejected access at an object or operation boundary under the current identity/mode |
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
Looking for a different code? Search another status or error code.
