What does HRESULT 0xC800020D (hrMakeBackupDirectoryFail) mean?

 
Previous Next
hrDeleteBackupFileFail hrInvalidBackup

hrMakeBackupDirectoryFail

Operational meaning

For hrMakeBackupDirectoryFail, the hexadecimal HRESULT is most useful when kept beside the API call and the affected artifact. The decisive boundary is ESE could not create the temporary directory required by the backup workflow.

The stored Value is 0xC800020D (negative JET error -525; -525). The HRESULT carries failure severity, so output state must be treated according to the individual API contract. Current ESE documentation uses JET_errMakeBackupDirectoryFail for the corresponding published JET condition.

The first useful distinction is that hrNoBackupDirectory means no path was supplied; this code means creation at a supplied location failed. Start by capture the resolved parent path, service identity, ACLs, free space, path length, filesystem type, and Win32 error. That separates a reproducible incident from a later generic cleanup or service error.

Before altering files or retrying

Preserve the first result before retries, cleanup, service restart, or file replacement changes the evidence. The diagnostic record should identify the exact API phase and the owner of every handle or artifact involved.

  • Code-specific observation: capture the resolved parent path, service identity, ACLs, free space, path length, filesystem type, and Win32 error.
  • Backup end/abort result: record it together with this result and the timestamp of the first occurrence.
  • Exact path and owner job: record it together with this result and the timestamp of the first occurrence.
  • File attributes and open handles: record it together with this result and the timestamp of the first occurrence.
  • ACL and Win32 error: record it together with this result and the timestamp of the first occurrence.

Use hashes, lengths, IDs, generation numbers, and redacted samples instead of copying directory contents or sensitive database values into routine logs. For this it investigation, a complete provenance chain is often more useful than a second automatic retry.

Comparison points

It specifically means that hrNoBackupDirectory means no path was supplied; this code means creation at a supplied location failed. Related values below can appear in the same workflow but require a different response:

hrDeleteBackupFileFailbackup cleanup could not delete an artifact it was responsible for removing
hrGivenLogFileIsNotContiguousthe logs supplied from backup media contain a mandatory generation gap
hrBackupDirectoryNotEmptythe selected backup destination contains artifacts that would make the new set ambiguous

Keep the original constant and hexadecimal value in telemetry. Replacing it with “backup failed” or “database warning” removes the state information needed to select the next legal API call.

Objects and state involved

Diagnostic layertemporary backup directories, copied artifacts, cleanup ownership, and final status
Relevant API surfaceexternal backup setup/teardown and filesystem operations around copied files
Code-specific boundaryESE could not create the temporary directory required by the backup workflow
Narrow corrective directioncorrect the parent directory and permissions, then restart the entire backup session

Cleanup errors can leave a destination that is unsafe for the next backup attempt., a cleanup path must distinguish artifacts owned by the current job from prior verified backups.

Recommended handling

  1. Record it, 0xC800020D, the API name, the current phase, and all live context or file owners.
  2. Verify the decisive condition by capture the resolved parent path, service identity, ACLs, free space, path length, filesystem type, and Win32 error.
  3. Apply only the narrow correction: correct the parent directory and permissions, then restart the entire backup session.
  4. After it, recreate any context invalidated by the failure; do not carry stale HBC, cursor, file, or restore-map state into the retry.
  5. repeat the smallest non-destructive test that reaches the same boundary, then verify both the return value and the resulting file, cursor, backup, or database state.

Acceptance criteria for a fix

A useful regression test for this HRESULT should force the condition “ESE could not create the temporary directory required by the backup workflow”, call one documented API transition, and assert the exact HRESULT. The corrected the case should change only the decisive precondition and should verify cleanup as well as the primary output. For the result backup or restore path, also prove that the resulting set can be enumerated and that no file handle or context remains active after finalization.

Actions that can make diagnosis worse

  • do not hide cleanup failure behind the original successful copy status.
  • do not recursively delete a destination whose provenance is unknown.
  • do not discard the first lower-level Win32, RPC, or JET result merely because a later cleanup call returned a more familiar error.

Technical references


Looking for a different code? Search another status or error code.