Вопросы | sqlite

Восстановить случайно удаленные записи в Sqlite3

Вопрос

William Yeung | 11172 просмотров | рейтинг: 1

Как звание возможно? Я случайно удалил еще одну запись из-за моего уродливого HTML-интерфейса в FireFox. Плохо то, что эта запись удаления является корневой папкой, в которой программа автоматически удаляет все :(



Ответы

driAn

+ -1 -
Ни за что. Без работающей резервной копии вы не сможете восстановить это.  


Wil Doane

+ 1 -
Извините - нет. Резервные копии - единственный вариант, о котором я знаю. В будущем рассмотрите возможность никогда не выдавать запросы DELETE, особенно из доступных для пользователя форм (пусть это делает только администратор БД, если таковой имеется) - просто включите в таблицы поле, которое помечает запись как неактивную, и затем учитывайте ее в своем запросы в предложении WHERE.  


afit

+ 1 -
Данные не всегда сразу удаляются из файла. Если их много и вы в отчаянии, вы можете использовать команду UNIX strings в файле. Это может помочь вам восстановить различные фрагменты читаемых человеком данных, но это будет сложный и неточный процесс.  


Drako

+ 2 -
только сегодня я удаляю некоторые данные из базы данных SQLite. Погуглить много часов, но в конце я нахожу хорошее решение. Посетите: http://az4n6.blogspot.com.es/2013/11/python-parser-to-recover-deleted-sqlite.html Если вы внимательно читаете и выполняете каждый шаг, я действительно обещаю, что у вас будут удаленные данные, хорошо, в плохом формате, но хорошо ... у меня есть мои данные. Удача!  


Anonymous

+ 1 -
Взгляните на открепление. Я уже использовал это. Он может экспортировать строки (удаленные или нет) из файла базы данных SQLite, если записи не были перезаписаны. Последняя версия здесь. Анализатор SQLite-Deleted-Records-Parser не дает такой же тип вывода, но может быть полезен. И есть также некоторые продукты, такие как SQLite Forensic Explorer, SQLite Repair, Sqlite Database Recovery и SQLiteDoctor. Если вы разработчик, вы можете избежать повторения той же проблемы, используя litereplica. Он добавляет репликацию с одним мастером в SQLite. Но не забудьте включить восстановление на определенный момент времени, поскольку при репликации транзакций на реплики случайная команда, такая как DROP TABLE или DELETE FROM, также будет реплицирована. С PITR вы сможете перейти к предыдущему моменту времени. Или используйте API резервного копирования регулярно. Хотя он передает всю базу данных на каждой резервной копии. И помните: если вы копируете файл SQLite или используете обычное резервное копирование, когда транзакция активна копия может быть повреждена.


Теги

sqlite