An SQLite database is highly resistant to corruption. If an application crash, or an operating-system crash, or even a power failure occurs in the middle of a transaction, the partially written transaction should be automatically rolled back the next time the database file is accessed. Though SQLite is resistant to database corruption, it is not immune and in some cases a special tool like SQLiteDoctor is required in order to be able to fully restore your damaged sqlite database.

Easy to use wizard

To start just select the sqlite database to recover and the output database file. You can optionally set an encryption key if the damaged database is encrypted.

Tables panel

Database is scanned in order to find out all the tables and all the rowid values. If maximum RowID value for a specific table cannot be found then a N/A value is used, you can manually set that value to a numeric value higher than the maximum rowid value you know it is used in that database for that table (if no value is entered than a default 100000 value is used).

Detailed log

Once recovery has started a detailed log output is produced in order to keep you informed about the currently performed step. In case of unrecoverable errors, a red message is displayed (with a total error count label).