破損したFirebirdデータベースを修復する方法は?
Alexey Kovyazin、最終更新日:2014年3月28日
Firebirdデータベースが破損している場合は、以下の手順に従って修復してください:
- Firebirdサーバーを停止します(Windowsでは通常サービスとして実行されているため、コントロールパネルを開き、サービスアプレットを実行して「Firebird Server - Default Instance」を停止します)。破損したデータベースを使用しないでください。さらなる破損を引き起こします。また、Firebirdサーバーが実行中にFirebirdデータベースをコピーしないでください。破損したコピーや、場合によっては元のデータベースの破損につながります。
- Firebirdデータベースファイルのコピーを作成します。通常はfdbまたはgdb拡張子の単一ファイルであり、Firebirdサービスが停止している場合は、通常のコピーコマンドやWindowsエクスプローラーでデータベースファイルを安全にコピーできます。破損したFirebirdデータベースの元のコピーは、将来の使用に備えて常に保管してください!
- Firebirdサーバーを起動し、コマンドプロンプトでFirebird\Binフォルダーから次のコマンドを実行します(通常、gfixおよびgbakツールはProgram Files\Firebird\Firebird_2.5.inにあります):
gfix.exe -v -full -user SYSDBA -pass masterkey path_to_your_database
gfix.exe -mend -ig -user SYSDBA -pass masterkey path_to_your_database
gbak -b -g -v -user SYSDBA -pass masterkey path_to_your_database path_to_backup
gfixがエラーを表示しても、すべて実行してみてください。
- バックアップが正常に完了した場合は、データベースを復元します:
gbak -c -v -user SYSDBA -pass masterkey path_to_backup path_to_database
- gbakが失敗した場合は、FirstAID Diagnosticianをダウンロードしてインストールし、元の破損したデータベースで診断を実行してください。詳細はFirstAID製品ページをご覧ください。完全なエラーテキスト(またはスクリーンショット)と診断ログをIBSurgeonサポート[email protected]に送信してください。
IBSurgeonの復旧ツール
自動データベース復旧用のFirstAIDツールを提供しています。これは(標準のgfixおよびgbakと組み合わせて)最も一般的なFirebirdおよびInterBaseデータベース破損の最大95%を修復できます。
FirstAIDのフルバージョンでデータベースの破損を修復できない場合は、この問題を解決するために2時間の無料復旧サポートを提供しています。
詳細については、IBSurgeonサポートまでお問い合わせください:[email protected]。