恢复包含序列的进度数据库

Restore a Progress DB including the sequences

我正在使用备份和成像后保存服务器数据库。 现在我想将这个数据库恢复到我的本地电脑。

prorest db %network_drive%:%backupPath%\db.bk

rfutil %db_destination%\db -C 前滚-ailist %network_drive%:%backupPath%\ai_db.lst

除数据库的序列外,这工作正常,所有序列现在都从 1 或可能从 0 开始。 寻找解决方案并不是那么容易,因为一直出现的ai序列。

当您成功恢复数据库时,序列也会恢复。它们与数据库的其余部分没有分开。

因此,如果序列尚未恢复,则说明某些事情失败了。 db.lg 文件应包含指向失败的消息。

也许问题在于混淆,因为术语“序列”可以指代两个不同的事物?

数据库序列是数据库模式的一部分,应用程序使用它来执行诸如自动递增字段之类的操作。这些是数据库的一部分,将始终与数据库一起恢复。当您(成功)前滚残像范围时,也将应用对其值的任何更新。

后图像序列号用于组织存档后图像日志。每个 AI 日志文件都有一个与之关联的序列号,以确保它们以正确的顺序应用。如果您使用的是 AI 管理守护程序,那么序列号是文件名的一部分。它也可以通过尝试前滚文件来发现;如果你选错了,错误消息会告诉你你尝试了哪个序列,以及数据库希望你尝试什么。如果您通过自己的脚本而不是使用 AIMD 来管理范围的归档,那么将 ai 序列号添加到文件名中是一个非常好的主意。

只要您启用后成像,AI 序列号就会重置。恢复数据库后,后映像被禁用,因此您应该做的第一件事就是重新启用后映像。这将导致 ai 序列号在恢复的数据库上重新开始。