| Previous | Next |
| hrObjectNotFound | hrDensityInvalid |
hrCannotRename
Why this is more specific than the message text
hrCannotRename means ESE could not complete the temporary-to-final rename used by a database or maintenance operation.
This is the legacy Directory Service backup/restore HRESULT form of JET_errCannotRename (0xC800051A).
The key comparison is: hrFileAccessDenied is an open/access failure; this code pinpoints the rename stage. The first useful observation is to capture source and destination paths, existing target, ACLs, locks, volume boundary, and antivirus/filter activity. This evidence distinguishes access, operating-system I/O, integrity verification, missing files, and log corruption.
Related ESE conditions
hrAccessDenied | ESE rejected access at an object or operation boundary under the current identity/mode |
|---|---|
hrDiskIO | the storage stack failed an ESE read, write, flush, or metadata operation |
hrTempFileOpenError | ESE could not create or open a temporary file needed for sorting, maintenance, or recovery work |
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 complete the temporary-to-final rename used by a database or maintenance operation |
| First corrective direction | remove the conflicting target or lock and repeat only after confirming the temporary file is the intended artifact |
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 source and destination paths, existing target, ACLs, locks, volume boundary, and antivirus/filter activity.
- 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.
- storage, filter-driver, antivirus, and system events from the same time window.
Corrective workflow
- Freeze the failing request context and record
0xC800051A, the Jet API name, and the current instance/session ownership. - Verify the code-specific precondition: capture source and destination paths, existing target, ACLs, locks, volume boundary, and antivirus/filter activity.
- Apply the targeted fix: remove the conflicting target or lock and repeat only after confirming the temporary file is the intended artifact.
- 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.