Насколько «живучие» БД?
Помимо самих файлов БД, СУБД еще ведет лог транзакций, который (если не убит) используется при восстановлении.
Ну а в целом, для решения таких проблем используются бекапы/репликация.
Обычно, администратор не разгребается восстановлением битых баз данных.
Обычно администраторы делятся на тех, кто НЕ делает бэкапы, тех кто УЖЕ делает, и тех кто УЖЕ делает и проверяет их целостность.
В продвинутых базах данных есть журналы транзакций, которые пишутся в отдельное место, и тоже могут бэкапироваться. Благодаря им, просто поднимается база из последнего бэкапа, и журналами транзакций состояние базы "докатывается" до момента перед сбоем.
Все остальные попытки "восстановить" базу из битых файлов - совершенно ненадежная ситуация, так как результат просто непредсказуем.
Ну то есть частично битые текстовые данные можно визуально отследить, а бинарные - вряд ли можно как-либо использовать такую кашу.