验证 H2 备份未损坏

Verify H2 Backup is not corrupted

我正在开发一个基于 H2 (TCP) 的应用程序,并且我创建了一个在单击按钮时获取备份文件的功能。

我用了

BACKUP TO '<FILENAME>'

命令进行在线备份。我已经对其进行了测试并且它可以工作,但在极少数情况下,备份已损坏。

H2中有没有API检查备份文件是否损坏?我想我会加载那个备份 zip 文件,然后计算所有表上的查询并将其显示在屏幕上。

正如 Thomas(H2 的创建者)在最快的验证方法是建立连接之前所引用的那样。如果您想了解数据是否已损坏,备份和还原是另一种值得鼓励的方式。目前没有任何 api 或工具。

来自托马斯:

There is a small risk that the database file exists, but not fully initialized. If that is the case,
then some of the tables don't exist. The standard way to verify all tables exists is to us
DatabaseMetaData.getTables.