不能直接删。在乐山市中区的台式电脑上看到一个小体积的-wal文件,也不能把它当临时垃圾;先保留与原数据库的对应关系,再按应用支持的维护方案处理。SQLite官方WAL文档说明,WAL文件是数据库持久状态的一部分,已提交事务可能还在WAL中,尚未回到主数据库文件。

适用前提是先确认它是不是SQLite的WAL。文件名以-wal结尾只是线索,不能据此猜测其他软件的数据库格式。桌面应用可能内嵌SQLite,WAL机制自3.7.0起存在,但是否启用WAL模式、内嵌库版本、是否有持久WAL设置,应以应用厂商资料和本机实际组件为准。若应用并不使用SQLite WAL,这个文件更不应按SQLite规则处理;若确实使用,也要先找到厂商提供的一致备份或导出办法。
观察时,重点看应用是否正常退出、是否仍有相关进程、-wal是否随正常操作变化、主文件和-wal的时间关系,以及应用日志中有无异常退出记录。看到残留的-wal,不能直接判定软件正在运行,也不能直接判定数据库已经损坏;正常关闭全部连接时通常由SQLite处理WAL,但异常退出或持久WAL设置下仍可能保留。仅凭目录显示或文件名清单,不能核完数据库是否一致。不要在活动库上手工复制主文件当作完整备份,因为已提交内容可能还在WAL里。
风险在于,分离或删除-wal可能丢失已提交事务,甚至造成数据库损坏。-shm与-wal不是同性质的垃圾,不能一并清理。若已经误删,继续让应用写入可能扩大现场,反复打开尝试也不合适。不要自行执行检查点、修改日志模式、强制结束进程,也不要自行替换应用内嵌的DLL;这些动作需要版本、连接状态和厂商方案共同支撑。
下一步按数据价值分支处理。库内有业务数据时,先停止新的写入,保留主文件、-wal和-shm的整体现场,联系应用厂商确认一致备份、导出和恢复流程,由厂商判断是否需要检查点以及能否恢复。确认只是废弃测试库且无人需要时,应由负责人确认后按单位流程清理,不能把这个结论套到其他库。另有版本兼容或已知缺陷疑问时,应由应用厂商核对内嵌库版本与官方修复条件;不能把残留文件或一次数据缺失直接归于某个缺陷,也不要自行替换内嵌组件。已经误删或出现打不开、数据缺失时,停止继续写入并保留现场,交由厂商或专业数据恢复人员评估,恢复结果受现场和备份条件限制。乐山地区台式电脑用户可通过电脑快修网做信息咨询与第三方维修对接,平台台账启用不代表即时履约,具体以实际沟通和本机应用方案为准。
市中区可拨400-877-9605,说明原应用名称、库文件关系与是否误删,当次核实具体地址及第三方电脑侧支持范围;不交数据库原件、账号或客户私密图像。启用覆盖记录不等于已受理或已完成修复。