| Previous | Next |
| hrLogFileNotFound | hrNoFullRestore |
hrCircularLogging
The exact condition reported here
hrCircularLogging means the Directory Service component is using circular logs, so the historical range needed for an incremental backup is not guaranteed to remain.
The stored value is 0xC7FF000B (facility-specific HRESULT). The legacy symbolic name comes from the Windows Directory Service backup/restore message header.
The first useful distinction is that a full backup can still be valid; the incompatibility is specifically with an incremental chain that depends on retained generations. Start by capturing the circular-logging setting, checkpoint generation, oldest retained log, requested backup type, and previous full backup.
Objects and state involved
| Diagnostic layer | full-backup baseline, incremental descendants, retained log generations, and catalog lineage |
|---|---|
| Relevant API surface | DsBackupPrepare backup type, log enumeration/truncation, and ESE external backup |
| Code-specific condition | the Directory Service component is using circular logs, so the historical range needed for an incremental backup is not guaranteed to remain |
| Narrow corrective direction | perform a full backup or change logging policy through the supported product configuration before establishing a new chain |
An incremental backup depends on a previous full database image and a continuous required log history. Circular logging retires old generations based on checkpoint state rather than backup-chain retention needs.
Adjacent conditions
This result specifically means that a full backup can still be valid; the incompatibility is specifically with an incremental chain that depends on retained generations. Related values below can appear in the same workflow but require a different response:
hrMissingFullBackup | an incremental backup set does not have the earlier full backup required to establish its database baseline |
|---|---|
hrLogFileNotFound | an incremental Directory Service backup cannot assemble the required transaction-log set |
hrFullBackupNotTaken | the caller requested an incremental backup without a completed full backup recorded as its baseline |
Diagnostic record
- Code-specific observation: capture the circular-logging setting, checkpoint generation, oldest retained log, requested backup type, and previous full backup.
- Generation range and checkpoint: capture the value and timestamp from the first occurrence.
- Catalog and truncation history: capture the value and timestamp from the first occurrence.
- Full and incremental backup IDs: capture the value and timestamp from the first occurrence.
- Database and log signatures: capture the value and timestamp from the first occurrence.
Actions that can make diagnosis worse
- Do not combine an incremental set with an unrelated full backup.
- Do not delete logs manually to make a directory look clean.
Corrective path
- Record it,
0xC7FF000B, the API name, the current phase, and all live context or file owners. - Verify the condition by capturing the circular-logging setting, checkpoint generation, oldest retained log, requested backup type, and previous full backup.
- Apply only the targeted fix: perform a full backup or change logging policy through the supported product configuration before establishing a new chain.
Technical references
- AD backup walkthrough — API ordering, file semantics, warning/error interpretation, or recovery behavior relevant to this HRESULT.
- ESE files and circular logging
- External backup sequence
- Microsoft JET_ERR enumeration
- Microsoft list of AD DS backup errors
Looking for a different code? Search another status or error code.