如何备份/恢复一个Firebird数据库?

问题描述 投票:-1回答:2

我真的在这里感到困惑火鸟2.5版的备份/恢复过程。我应该使用什么样的备份/恢复本地Firebird数据库:fbsvcmgr.exe,gbak.exe,ISQL.EXE或nbackup.exe

这些是所有选项或我错了什么事!

什么是做一个C ++应用程序的实际方法是什么?

我怎么知道,如果一个数据库已经存在的第一次,所以我可以决定是否恢复与否。

backup firebird restore
2个回答
-1
投票

有在火鸟创建备份两种主要方式:

  • GBAK,它创建数据库(对象描述'(例如表结构,视图等)和数据)的逻辑备份
  • 使用nbackup(也称为nbak),它创建数据库的物理备份(物理数据页从上次使用nbackup改变)

在大多数情况下,我建议使用GBAK,因为它更简单,也可以让你移动平台和火鸟版本之间的备份,而使用nbackup是唯一真正适用于同一平台和Firebird的版本(但允许的优势增量备份)。

ISQL是一个交互式查询CLI,并且不能用于创建备份。 Fbsvcmgr是“火鸟服务管理器”的工具,其可以用于一个(远程)火鸟调用服务器上的服务操作。这包括备份,并通过GBAK和使用nbackup恢复操作。 Fbsvcmgr是相当低的水平,很难使用(见fbsvcmgr -?的选项)。

对于GBAK,你通常调用通过GBAK可执行文件(选项-se[rvice] <service>)的服务,也Remote Backups & Restores看到GBAK文档。对于使用nbackup你要么可以在本地使用使用nbackup工具,或者您需要使用fbsvcmgr(或支持服务操作的另一种工具)远程(action_nbakaction_nrest)调用相同的功能,也看到了使用nbackup文档中Backups on remote machines (Firebird 2.5+)

有关GBAK详细说明,请参见gbak - Firebird Backup & Restore Utility。对于使用nbackup,看到Firebird's nbackup tool

随着GBAK备份,你会用“创造”(选项-c[reate])或“重新创建”(-r[ecreate]o[verwrite]选项),如果数据库文件已经存在,它就会失败恢复正常的数据库。另见上面链接以获取更多信息GBAK手册。

我不会真正回答你关于如何从C ++应用程序做的问题,因为我不计划C ++,和你的问题已经太广,因为它是。但是要知道,这是可以调用火鸟服务操作,包括备份和同时使用GBAK恢复和使用nbackup,从C ++代码(即本质上是什么火鸟工具本身做的)。如果您想了解更多关于这一点,我会建议你问Firebird支持邮件列表。


2
投票

我通常使用GBAK(不知道其他人)。

备用

GBAK -b -v -user SYSDBA -password “masterkey” d:\ database.FDB E:\ database.fbk

恢复

GBAK -c -user SYSDBA -password masterkey E:\ database.fbk E:\ database_restore.fdb

如果文件存在恢复你可以用GBAK做恢复标志-c =创建新的文件-r =替换文件

这里是FB备份好页/恢复:http://www.destructor.de/firebird/gbak.htm

© www.soinside.com 2019 - 2024. All rights reserved.