| Previous | Next |
| hrBadLogSignature | hrBadCheckpointSignature |
hrBadDbSignature
What this return value changes
hrBadDbSignature means the database signature does not match the backup or log set used for recovery.
The stored value is 0xC8000213 (negative JET error -531; -531). Current ESE documentation uses JET_errBadDbSignature for the corresponding published JET condition.
The first useful distinction is that a database can be structurally readable yet belong to another ESE lineage. Start by capturing database header signature, log signature, backup identity, restore map, file hash, and original path.
Objects and state involved
| Diagnostic layer | cryptographic-style ESE identity signatures linking database, logs, checkpoint, and backup set |
|---|---|
| Relevant API surface | soft recovery, hard recovery, database attachment, and backup verification |
| Code-specific condition | the database signature does not match the backup or log set used for recovery |
| Narrow corrective direction | restore the matching database and logs as one set instead of mixing copies from separate backups |
ESE signatures identify lineage; they are not interchangeable with filenames or timestamps. A signature mismatch commonly indicates mixed files even when each file is individually readable.
Evidence worth preserving
- Code-specific observation: capture database header signature, log signature, backup identity, restore map, file hash, and original path.
How to distinguish nearby results
It specifically means that a database can be structurally readable yet belong to another ESE lineage. Related values below can appear in the same workflow but require a different response:
hrBadLogSignature | a transaction log header signature does not match the expected log sequence |
|---|---|
hrBadCheckpointSignature | the checkpoint signature is incompatible with the log sequence selected for recovery |
hrFLDTooManySegments | an index key definition contains more segments than the legacy record manager supports |
A safe response sequence
- Record it,
0xC8000213, the API name, the current phase, and all live context or file owners. - Verify the condition by capturing database header signature, log signature, backup identity, restore map, file hash, and original path.
- Apply only the targeted fix: restore the matching database and logs as one set instead of mixing copies from separate backups.
Actions that can make diagnosis worse
- Do not patch signatures or headers.
- Do not choose files solely by matching names and dates.
Technical references
- ESE error codes — API ordering, file semantics, warning/error interpretation, or recovery behavior relevant to this HRESULT.
- ESE files and signatures
- JetExternalRestore
- Microsoft JET_ERR enumeration
Looking for a different code? Search another status or error code.