2016-07-02 13 views
0

私は、ライブバックアップとリストアスクリプトを設定して、メインサーバと予備サーバで「複製」されたファイアバードDBを持つようにしています。 バックアップは元気:fbsvcmgrでFirebird 2.5を復元する

"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 

コピーファイルをリモートサーバに同様:

net use R: \\fbserv2\reserve 
xcopy /Y D:\testdb\lab_FULL.fbk R:\ 

しかし、リモート側で復元

"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 

は、エラーの原因となった:

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はそうではないようです。他の選択肢はありますか?私は何か見落としてますか?

答えて

0

nbackupを使用して既存のデータベースに復元することはできません。あなたのどちらか最初に古いデータベースを削除してから復元し、

  • または別の名前で復元し、古いデータベースを削除し、その最終的な名前に新しいデータベースの名前を変更

    1. する必要があります。私の知る限り、既存のデータベースを上書きできないように設計上の決定だった知っているよう

      If the specified database file already exists, the restore fails and you get an error message.

    もnbackupドキュメント、章Making and restoring backupsを参照してください。 Gbakは確かにその選択肢を持っていますが、歴史的な理由からです。それが今日構築されていれば、それはおそらくその選択肢を持たないでしょう。

  • 関連する問題