2009-01-18 89 views

回答

0

沒辦法,沒有一個工作備份您將無法恢復此。

1

不幸的是我不知道但是,在SQLite數據庫文件上執行VACUUM之前,刪除的數據通常不會在技術上被刪除,也許您可​​能仍然可以使用該文件上的某種十六進制編輯器來恢復某些數據。

1

對不起,備份是我知道的唯一選項。

未來,考慮ne發出DELETE查詢,特別是從用戶可訪問的表單(如果有的話只讓數據庫管理員執行此操作) - 只需在表中包含一個將記錄標記爲非活動狀態的字段,然後將其納入WHERE子句中的查詢中。

1

可能有可能通過十六進制編輯器進入並查看數據。我能找到的唯一信息是元數據已經消失,所以記錄不會回來,但數據本身可能仍然存在。這與數據的重要程度有很大關係,我懷疑你挖掘出十六進制編輯器並不重要。

1

數據並不總是從文件中直接刪除。如果有很多,並且您絕望,可以在文件上使用UNIX命令strings。這可能會幫助你恢復各種可讀的數據,但這將是一個艱難而不準確的過程。

2

就在今天,我從SQLite數據庫中刪除了一些數據。谷歌搜索了很多小時,但最終我找到了一個很好的解決方案。

訪問:http://az4n6.blogspot.com.es/2013/11/python-parser-to-recover-deleted-sqlite.html

如果你仔細閱讀和做的每一步,我真的答應你有你刪除的數據,OK,在一個壞的格式,但很好...我有我的數據。

好運!

+1

相關下載鏈接:https://github.com/mdegrazia/SQLite-Deleted-Records-Parser/releases – Blauhirn 2016-05-23 12:14:04

0

看看undark。我已經使用過它。它可以從SQLite數據庫文件中導出行(刪除或不刪除),如果記錄沒有被覆蓋。最後的版本here

SQLite-Deleted-Records-Parser不提供相同類型的輸出,但可能有用。

而且也有一些產品,如SQLite Forensic ExplorerSQLite RepairSqlite Database RecoverySQLiteDoctor

如果您是開發人員,則可以避免再次使用litereplica再次遇到同樣的問題。它將單主複製添加到SQLite。

但請記住啓用時間點恢復,因爲隨着事務複製到副本,像DROP TABLEDELETE FROM這樣的意外命令也將被複制。使用PITR,您將能夠進入之前的時間點。

或定期使用Backup API。儘管它在每個備份上傳輸整個數據庫。

並記住:如果複製SQLite文件或在事務處於活動狀態時使用常規備份方法 副本可能是corrupted