| Previous | Next |
| hrInvalidOnSort | hrTooManyAttachedDatabases |
hrTempFileOpenError
Interpretation in ESE terms
hrTempFileOpenError means ESE could not create or open a temporary file needed for sorting, maintenance, or recovery work.
This is the legacy Directory Service backup/restore HRESULT form of JET_errTempFileOpenError (0xC800070B).
The key comparison is: hrDiskFull and hrFileAccessDenied identify common causes; this result marks the temporary-file stage. The first useful observation is to capture temp path, identity, ACL, free space, quota, filename collision, and filter-driver 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 | ESE could not create or open a temporary file needed for sorting, maintenance, or recovery work |
| First corrective direction | repair the temp location and rerun only after confirming cleanup of partial temporary artifacts |
Integrity failures require evidence preservation before repair or replay changes the on-disk state. The underlying file, offset, access mode, and Win32 status are more useful than a generic application exception.
Comparison with adjacent failures
hrReadVerifyFailure | a database page failed physical verification while being read |
|---|---|
hrAccessDenied | ESE rejected access at an object or operation boundary under the current identity/mode |
hrPermissionDenied | the caller lacks permission for the requested ESE operation or protected resource |
What to capture before retrying
- Code-specific observation: capture temp path, identity, ACL, free space, quota, filename collision, and filter-driver events.
- storage, filter-driver, antivirus, and system events from the same time window.
- the exact file, offset, length, access mode, and underlying Win32 status.
- database, log, checkpoint, and temporary-file generations present at the first event.
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.
Operational response
- Freeze the failing request context and record
0xC800070B, the Jet API name, and the current instance/session ownership. - Verify the code-specific precondition: capture temp path, identity, ACL, free space, quota, filename collision, and filter-driver events.
- Apply the targeted fix: repair the temp location and rerun only after confirming cleanup of partial temporary artifacts.
- Before retrying the operation, reconcile file identity, integrity evidence, and the supported recovery state.
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.