gpt4 book ai didi

database-restore - 恢复完整的外部 ESENT 备份

转载 作者:行者123 更新时间:2023-12-02 05:12:31 24 4
gpt4 key购买 nike

我已经使用 JetBeginExternalBackup API 编写了创建 ESENT 数据库完整备份的代码。

按照 MSDN 指南,我备份了 JetGetAttachInfo 和 JetGetLogInfo 返回的每个文件。

我已经做了备份,删除了旧数据库,并将备份数据复制到数据库文件夹中。数据库引擎无法启动,JetInit 错误代码为“JET_errMissingLogFile”。

我检查了备份,它只包含数据库文件和“ XXXXX.log”日志文件。它缺少当前日志文件(顺便说一句,我正在使用循环日志记录)。

有什么办法可以恢复这样的备份吗?

我不想使用 JetExternalRestore API,因为它太复杂了:我不需要恢复到另一个位置,我不明白为什么有 3 个输入文件夹而不是 2 个,而且我不知道在 genLow 和 genHigh 参数中提供的值。

我确实需要外部备份:ESENT 数据库由远程服务器上的 ASP.NET 使用,我正在通过 Internet 对其进行备份。

或者,也许有一种方法可以检索当前日志文件的名称,我应该将它添加到备份中?

提前致谢!

附言我没有在我的 Web 服务器上跨进程的权限,因此不能使用 eseutil.exe。

最佳答案

将所有备份文件解压缩到一个文件夹中。

取主数据库文件的名称。将扩展名替换为 .pat。使用该名称创建零长度文件,例如database.pat.

完成这个简单的步骤后,请调用 JetRestoreInstance API,它将从该文件夹恢复备份。

关于database-restore - 恢复完整的外部 ESENT 备份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4289430/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com