如何解决H2 SCRIPT命令是否像快照一样工作?
| H2数据库具有一个称为SCRIPT的命令来备份内容和/或结构。它可以在数据库运行时执行。 我的问题是:SCRIPT是否像快照一样工作?它是否仅在发出SCRIPT命令之前占用语句和数据库内容?还是在执行SCRIPT时尝试考虑其他进程执行的其他语句? 编辑 为了澄清这个问题,关于SCRIPT的用法有两个歧义: 在运行数据库时,SCRIPT是否保证事务安全性/一致性? SCRIPT产生的输出是否小于BACKUP? 我在问这个问题,以了解在执行数据库备份时是否应该中断一些查询。解决方法
SCRIPT
命令在开始时锁定每个表(用于读取)。因此,生成的SQL脚本在事务上是一致的。请注意,其他操作将被阻止,直到操作完成为止(即使使用多线程选项也是如此)。
SCRIPT产生的输出是否小于BACKUP?
这取决于数据。通常,SQL脚本要小一些,但不多。使用压缩时,它要小得多。该脚本的主要优点是您拥有一个易于阅读的备份,该备份与软件的联系不多(H2的文件格式可能会更改,但SQL不会更改)。
,\“建议的备份数据库的方法是创建一个压缩的SQL脚本文件。可以使用Script
工具来完成。\”不幸的是,在使用数据库时确保事务一致性的唯一方法是使用SQL命令。 BACKUP
,它也复制事务日志。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。