Linux

如何驗證 SQLite db3 文件是否有效/一致

  • November 10, 2016

由於各種原因,我從實時執行的生產系統(我知道壞系統管理員壞系統管理員)複製了一些 sqlite version3 db3 文件。是否有一些我可以執行的 sqlite 命令來驗證是否可以從這些文件中讀取所有數​​據(我不介意是否需要一段時間)。

我正在考慮破解一些 perl,它會轉儲所有數據,然後將其重新導入新文件。我認為如果遇到損壞的數據,sqlite 會拋出異常。有沒有更好的辦法?

我是 CentOS 5.3 和 sqlite-3.3.6-2

我想你想試試:

pragma integrity_check;

文件中:

此編譯指示對整個數據庫進行完整性檢查。完整性檢查雜注查找無序記錄、失去的頁面、格式錯誤的記錄、失去的索引條目以及 UNIQUE 和 NOT NULL 約束錯誤。如果完整性檢查雜注發現問題,則返回描述問題的字元串(作為多行,每行一列)。

$$ … $$ 另請參閱PRAGMA quick_check命令,該命令對 PRAGMA 完整性檢查進行大部分檢查,但執行速度更快。

引用自:https://serverfault.com/questions/8048