H2 SCRIPT命令是否像快照一样工作?

问题描述

| H2数据库具有一个称为SCRIPT的命令来备份内容和/或结构。它可以在数据库运行时执行。 我的问题是:SCRIPT是否像快照一样工作?它是否仅在发出SCRIPT命令之前占用语句和数据库内容?还是在执行SCRIPT时尝试考虑其他进程执行的其他语句? 编辑 为了澄清这个问题,关于SCRIPT的用法有两个歧义: 在运行数据库时,SCRIPT是否保证事务安全性/一致性? SCRIPT产生的输出是否小于BACKUP? 我在问这个问题,以了解在执行数据库备份时是否应该中断一些查询。     

解决方法

SCRIPT
命令在开始时锁定每个表(用于读取)。因此,生成的SQL脚本在事务上是一致的。请注意,其他操作将被阻止,直到操作完成为止(即使使用多线程选项也是如此)。   SCRIPT产生的输出是否小于BACKUP? 这取决于数据。通常,SQL脚本要小一些,但不多。使用压缩时,它要小得多。该脚本的主要优点是您拥有一个易于阅读的备份,该备份与软件的联系不多(H2的文件格式可能会更改,但SQL不会更改)。     ,\“建议的备份数据库的方法是创建一个压缩的SQL脚本文件。可以使用
Script
工具来完成。\”不幸的是,在使用数据库时确保事务一致性的唯一方法是使用SQL命令。
BACKUP
,它也复制事务日志。     

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...