我最近遇到了一个问题,当服务器关闭时,使用SQLite的几个应用程序正在遇到损坏问题。知道这不是硬件问题,我想解决问题的根源。
腐败发生后,我已经拍摄了这些SQLite数据库之一的快照,希望我能够从中学习一些东西。
我在数据库上运行了一个pragma_integrity检查,其所做的只是返回"错误:数据库磁盘映像已畸形" - 这正是要输出到应用程序日志中的内容。
此检查是否有详细模式?我在sqlite文档中看不到任何东西。
另外,我还有其他可以用来分析数据库的东西吗?
integrity_check
是与quick_check
相比的详细表格,尽管您可以使用integrity_check(n)
在完成之前指定其返回的错误数(默认值为100,即没有(n)
)。
在您的情况下,您似乎只会遇到单个错误,因此使用integrity_check(n)
可能不会有所作为。
sqlite -pragma语句
也许这些链接可能是使用
- 维修SQLite数据库通过SQLite数据恢复工具
- 错误:SQLite数据库已畸形 - 已解决
基本上,他们说尝试使用SQLite工具导出数据库。
如果您Google sqlite malformed database
。
您还可以找到如何损坏感兴趣的SQLite数据库文件。