Stellar Phoenix Access Repair
I was recently asked to review Stellar Phoenix Access Repair tool. Using tool you can scan corrupted database to see what objects are still there, preview data in tables and SQL of queries, and repair database or selected objects. In most cases you can repair all tables and queries you see, but it is not true for other objects (at least for me).
I took a copy of Northwind.mdb and one of my largest frontend databases to test it, I tried to cut off parts of file, and run repair process.
When I cut off first 80 bytes I was not able to see (scan) objects in database, and even database was "repaired" – there were no objects in it, repaired database file becomes 96 kB. So file header is essential for that tool. Cutting off several bytes from the end does not affect database, cutting about 100kB makes it corrupted, but tool can scan most of objects, and repair all visible tables and queries. Cutting off more bytes gives less visible objects in database, and having file length less than 64 kb makes this tool useless.
I did not really managed to repair form or any other than tables/queries objects, in some cases tool tries to run Access in background with 100% CPU utilization, but looks like it hangs (or maybe it takes too much time).
One more useful option - Recover deleted records. If you have deleted records in the table, and then scan database using this tool, without compacting database – you can also recover deleted records. Tables, with deleted records appear as separate tables, like on then picture below.
As you see I have deleted records from Customers and Orders tables (and related Order Details), but tool recovered only Customers records, Orders and Order Details (deleted records) where empty, while in tool itself I saw deleted record in Orders (but not in Order Details). Still something to improve, this can be demanded feature.
Conclusion. Developer normally often makes a copy of frontend, means recovering forms and reports are not so important. Most sensitive objects in database are tables, and tool helps to repair them. Perhaps manual repair can give better result, but it is always good to try a tool like this first.