首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用fbsvcmgr恢复Firebird 2.5

问用fbsvcmgr恢复Firebird 2.5
EN

Stack Overflow用户
提问于 2016-07-02 06:42:43
回答 1查看 664关注 0票数 0

我正在配置实时备份和还原脚本,以便在主服务器和备用服务器上“复制”firebird dbs。备份执行良好:

代码语言:javascript
复制
"C:\Program Files\Firebird\Firebird_2_5\bin\nbackup" -B 0 "D:\testdb\LABORATORY_DB.FDB" D:\testdb\lab_FULL.fbk -user SYSDBA -pass masterkey -D OFF

还将文件复制到远程服务器:

代码语言:javascript
复制
net use R: \\fbserv2\reserve
xcopy /Y D:\testdb\lab_FULL.fbk R:\ 

但在偏僻的地方恢复

代码语言:javascript
复制
"C:\Program Files\Firebird\Firebird_2_5\bin\fbsvcmgr.exe" fbserv2:service_mgr -user SYSDBA -password masterkey -action_nrest -dbname d:\reservedb\LABORATORY_DB.FDB -nbk_file d:\reserve\lab_FULL.fbk 

导致错误:

代码语言:javascript
复制
Error (80) creating database file: d:\reservedb\LABORATORY_DB.FDB via copying from: d:\reserve\lab_FULL.fbk

还原数据库的唯一方法是在还原之前手动删除旧的d:\reservedb\LABORATORY_DB.FDB。GBAK可以选择覆盖restorig db文件,而fbsvcmgr似乎并非如此。还有别的选择吗?我错过了什么吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-02 07:24:36

不能使用nbackup在现有数据库上进行还原。你要么需要

  1. 先删除旧数据库,然后还原,
  2. 或使用不同的名称进行还原,删除旧数据库,并将新数据库重命名为其最终名称。

还请参阅nbackup文档,第创建和恢复备份章。

如果指定的数据库文件已经存在,则还原失败,您将得到一条错误消息。

据我所知,不允许覆盖现有数据库是一个设计决定。Gbak确实有这样的选择,但仅仅是出于历史原因;如果它是今天建造的,它很可能就没有这个选择。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38157311

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档