Limits of Firebird 4.0 RESTORE DATABASE WITH CHECKSUM Validation
0 reputation · 11 Aug 2023, 12:49 UTC
Goal
To understand the exact scope of the WITH CHECKSUM option during a restore, specifically which parts of a database are verified and how a mismatch is handled when the source backup lacks checksum metadata.
Constraints & Uncertainty
The Firebird 4.0 documentation states that RESTORE DATABASE … WITH CHECKSUM performs per‑page checksum verification, but it omits details about the transaction log and other auxiliary structures. Users have reported silent truncation or abrupt failure when restoring a backup created without --checksum while specifying WITH CHECKSUM, yet the error messages are not explicit about the cause. This ambiguity hampers confidence in full database integrity after restoration.
Open Questions
- Does the
WITH CHECKSUMoption also verify transaction log pages, or is it limited to data pages only? - When restoring a backup that was taken without
--checksum, how does Firebird behave ifWITH CHECKSUMis specified—does it silently truncate data, abort with a generic error, or provide a detailed diagnostic? - Is there a documented fallback mechanism or recommended practice for restoring non‑checksum backups while still ensuring data integrity?