gbak -backup emp-6ren">
gpt4 book ai didi

database - 即使关闭后也无法恢复数据库备份 ("database might be in use")

转载 作者:搜寻专家 更新时间:2023-10-30 20:54:33 25 4
gpt4 key购买 nike

我正在关注此站点上的示例:http://www.firebirdsql.org/manual/gbak-recipies.html

更具体的是以下三个命令:

tux> gbak -backup employee /backups/employee.fbk
tux> gfix -shut -tran 60 employee
tux> gbak -replace /backups/employee.fbk employee

我已经替换了命令以符合我的数据结构,命令如下:

gbak.exe -user SYSDBA -pas masterkey -backup C:\Database\MyDB.fdb C:\Temp\DbBackup.fbk
gfix -user SYSDBA -pas masterkey -shut single -force 0 "C:\Database\MyDB.fdb"
gbak -user SYSDBA -pas masterkey -replace C:\Temp\DbBackup.fbk C:\Database\MyDB.fdb

备份创建到 C:\Temp。有时关闭命令不起作用,我通过确保数据库在关闭之前实际在线来解决这个问题:

gfix -user SYSDBA -pas masterkey -online C:\Database\MyDB.fdb

但是,即使关闭数据库时没有报错,恢复时总是报错:

gbak: ERROR:could not drop database c:\Database\MyDB.fdb (database might be in use)
gbak:Exiting before completion due to errors

为什么当数据库关闭时它会这样做?


我还尝试使用 full 而不是 single 关闭数据库。然后恢复会给出以下错误:

gbak: ERROR:invalid database handle (no active connection)
gbak:Exiting before completion due to errors
gbak: ERROR:invalid database handle (no active connection)

我猜这是因为数据库已完全关闭并且不允许连接,所以要检查的东西少了。

最佳答案

我相信关机功能不是即时的,即使你使用 0 分钟。您必须等待几秒钟才能让 Firebird 在关机和恢复之间释放文件。

无论如何,我建议不要自行恢复数据库。如果在备份或还原过程中出现问题,您将丢失数据库...您应该以不同的名称恢复,重命名原始文件,然后重命名恢复的数据库。

最好的问候

关于database - 即使关闭后也无法恢复数据库备份 ("database might be in use"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28411019/

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