IBBackupSurgeon

IBBackupSurgeon is a tool that can be used to read and save data from corrupted Firebird or InterBase backup files. To access corrupted backup files it uses its own direct access layer. With this tool a user can browse a backup file, select tables you need and then extract them to a new or existing database. Two version are available: "Basic" and "Pro". Basic version is enough to save data from usually corrupted backups, and Pro version allows to re-use structure of intact backup in order to save data from heavily corrupted backups with the same structure. IBBackupSurgeon allows reading and extracting all metadata of database, including text of stored procedures, triggers, computed fields and so on. Metadata are represented in raw text and SQL.

e-mail: support@ib-aid.com

www: http://www.ib-aid.com

Workbench overview

IBBackupSurgeon workbench contains the following Tab panels:

Backup – to work with corrupted backup file;

Database – to work with database where data from corrupted backup file will be extracted;

HexView – dump information;

Log – analysis log.

Menu overview

First of all, let’s make a quick introduction of IBBackupSurgeon menu:

Backup :

Database Managing database where data from corrupted backup will be exported:

Export Exporting data menu:

Advanced Advanced commands for manual recovery (Pro only):

Help:

Frequently used commands are on toolbar too.

Step by Step Guide

Review backup data (available in Trial)

  1. Choose backup file:

  2. Scan database (it can take some time until message “Done!”)

  3. Review scanning results by choosing appropriate table in the list

Partial data extraction

  1. Create new database for exporting or connect to existing database (empty, all constraints should be off).

  2. Choose tab “Database” and make sure that database for export is connected. You need to be sure that database for export does not contain any data which will be in conflicted with exported (tables with the same names).
  3. Choose backup segment and perform extraction.

  4. You can see some conflicts, for example with Views which will be attempted to create before underlying tables.:

In this case you can skip it and perform export in several attempts.

Exporting of all tables data

During the exporting for all tables from backup file 2 steps are performed: table structure creation and export of records.

All objects with errors or consistency problem will be omitted. After export completion report with count of exported records will be shown.

Pumping data to the live database

As you can see, IBBackupSurgeon exports only data, and usually we need to export it in some live database, empty or not, which have all constraints and other metadata. In this case we recommend the following sequence:

1) Connect to backup file and scan it (Backup/Open)

2) Create new database for export (Database/Create new) – new database will be created

3) Perform export of all table (Export/Export all tables). Exporting will feel new database with backup’s data.

4) Download free tool IBDataPump from http://www.clevercomponents.com/demo/datapump/IBPump.zip

5) Run IBDataPump and set exported database as Source and live database as target (DONT FORGET to MAKE BACKUP of LIVE database)

6) Set Commit Records to 1 in IBDataPump settings

7) Perform pumping. IBDataPump will carefully copy all exported data to the live database with respect to all constraints, and you’ll get fully functional database.

If you have no live database with good metadata you need to apply extracted SQL scripts from corrupted backup or other sources (old copies? Development copies?).

Please feel free to ask any questions by support@ib-aid.com