| Previous | Next |
| hrDiskFull | hrFileNotFound |
hrPermissionDenied
Why this is more specific than the message text
hrPermissionDenied means the caller lacks permission for the requested ESE operation or protected resource.
This is the legacy Directory Service backup/restore HRESULT form of JET_errPermissionDenied (0xC8000711).
The key comparison is: hrFileAccessDenied is specifically a file-open/manipulation failure; this result can occur at a higher operation layer. The first useful observation is to capture the effective process/thread token, privileges, object ACLs, and whether impersonation is active. This evidence distinguishes access, operating-system I/O, integrity verification, missing files, and log corruption.
Related ESE conditions
hrLogCorrupted | transaction log files required by the database fail structural or integrity validation |
|---|---|
hrReadVerifyFailure | a database page failed physical verification while being read |
hrFileNotFound | a syntactically valid database-related path names a file that is absent at call time |
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 caller lacks permission for the requested ESE operation or protected resource |
| First corrective direction | run under the intended identity and grant the minimum documented rights rather than broad administrator access |
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.
Data for a reproducible case
- Code-specific observation: capture the effective process/thread token, privileges, object ACLs, and whether impersonation is active.
- database, log, checkpoint, and temporary-file generations present at the first event.
- storage, filter-driver, antivirus, and system events from the same time window.
- the exact file, offset, length, access mode, and underlying Win32 status.
Corrective workflow
- Freeze the failing request context and record
0xC8000711, the Jet API name, and the current instance/session ownership. - Verify the code-specific precondition: capture the effective process/thread token, privileges, object ACLs, and whether impersonation is active.
- Apply the targeted fix: run under the intended identity and grant the minimum documented rights rather than broad administrator access.
- 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.