我们在Java桌面应用程序的生产中使用H2 DB(版本1.4.195)。 最近,我们注意到我们的客户数据库已损坏,他们在Windows上都拥有solid-state drive (SSD)。
日志中的问题始终与索引有关:
org.h2.jdbc.JdbcSQLException: File corrupted while reading record: "index not found 201". Possible solution: use the recovery tool;
数据库在本地连接,连接字符串为:
jdbc:h2:file:C://TEMP//database";LOCK_TIMEOUT=10000;LOCK_MODE=3;MVCC=FALSE;MV_STORE=false;IFEXISTS=TRUE
在hard disk drive (HDD)上使用相同的参数,我们没有问题。
Java版本:1.8 Windows:7/10 文件系统:NTFS
内部无法重现该问题,但在客户端,该问题经常发生。
对这种特殊情况有什么建议吗?