我最近遇到了一个问题,当服务器关闭时,一些利用SQLite的应用程序出现了腐败问题。知道这不是硬件问题,我想找到问题的根源。
在发生损坏之后,我拍摄了其中一个SQLite数据库的快照,希望我能够从中学到一些东西。
我对数据库进行了pragma_integrity检查,所做的只是返回“错误:数据库磁盘映像格式错误” - 这正是输出到应用程序日志中的内容。
这项检查有详细的模式吗?我在SQLite文档中看不到任何内容。
或者,还有什么我可以用来分析数据库?
integrity_check
是与quick_check
相比的详细形式,尽管你可以使用integrity_check(n)
来指定它在完成之前返回的错误数量(默认值为100,即没有(n)
)。
在你的情况下,你似乎只得到单个错误,所以使用integrity_check(n)
可能不会有所作为。
也许这些链接可能有用
基本上他们说尝试使用SQLite工具导出数据库。
如果你谷歌sqlite malformed database
有更多的负载。
您可能还会找到感兴趣的How To Corrupt An SQLite Database File 。