6

我使用“SQlite 数据库浏览器”程序处理我的 sqlite 数据库。程序崩溃了,我丢失了我的更改。但是 db-journal 文件仍然存在。如何使用日志文件恢复数据库?当我使用 SQLite 数据库浏览器打开数据库时,旧数据库打开了。

我能做些什么?

谢谢 :-)

4

1 回答 1

2

除非您启用了预写日志记录,否则恐怕您的更改可能会丢失。SQLite 中的默认日志系统的工作方式与您预期的相反。

从文档中:

传统的回滚日志的工作原理是将原始未更改的数据库内容的副本写入单独的回滚日志文件,然后将更改直接写入数据库文件。如果发生崩溃或 ROLLBACK,则将回滚日志中包含的原始内容回放到数据库文件中,以将数据库文件恢复到其原始状态。

看:

沃尔:https ://sqlite.org/wal.html

文件格式,包括期刊: https ://sqlite.org/fileformat.html

于 2015-06-26T15:50:35.300 回答