Linux
如何驗證 SQLite db3 文件是否有效/一致
由於各種原因,我從實時執行的生產系統(我知道壞系統管理員壞系統管理員)複製了一些 sqlite version3 db3 文件。是否有一些我可以執行的 sqlite 命令來驗證是否可以從這些文件中讀取所有數據(我不介意是否需要一段時間)。
我正在考慮破解一些 perl,它會轉儲所有數據,然後將其重新導入新文件。我認為如果遇到損壞的數據,sqlite 會拋出異常。有沒有更好的辦法?
我是 CentOS 5.3 和 sqlite-3.3.6-2
我想你想試試:
pragma integrity_check;
從文件中:
此編譯指示對整個數據庫進行完整性檢查。完整性檢查雜注查找無序記錄、失去的頁面、格式錯誤的記錄、失去的索引條目以及 UNIQUE 和 NOT NULL 約束錯誤。如果完整性檢查雜注發現問題,則返回描述問題的字元串(作為多行,每行一列)。
$$ … $$ 另請參閱PRAGMA quick_check命令,該命令對 PRAGMA 完整性檢查進行大部分檢查,但執行速度更快。