Subject Re: [firebird-support] GBAK - validation error for column X, value "*** null ***"
Author Walter R. Ojeda Valiente
If you only have a backup and the backup is corrupted then .... very bad news.

The best politic is always to do a backup/restore cycle inmediatly. So, if an error is detected when the backup is being restored you can take actions at that right moment.

If your operating system is Windows, you can open a command window and write:

GBAK -b -user SYSDBA -password masterkey MyDataBase.FDB stdout | GBAK -user SYSDBA -password masterkey -r stdin MyRestoredDatabase.FDB

Any error will be inmediatly detected.

And, if you can read Spanish, the following page has more info about this subject:


Greetings.

Walter.


On Fri, May 15, 2015 at 4:41 AM, Josef Kokeš j.kokes@... [firebird-support] <firebird-support@yahoogroups.com> wrote:
 

Hi!

Thanks for the answer. Luckily, I still have the FDB file, so I can get
rid of the bad records easily. What has me concerned is, what if I only
had the backup? Your trick with pumping seems plausible, I will have to
give it a try. IBBackupSurgeon looks promising, too.

Josef

On 15.5.2015 9:14, Alexey Kovyazin ak@... [firebird-support] wrote:
>
> Hi Josef,
>
> Such error is the consequence of the corruption - in the original
> database there was a NULL in the field (most likely, all fields in
> that record are NULL).
> gbak does not check constraints when reading.
>
> The best way to fix it is to find record with NULLs in the original
> database and delete it, then repeat backup/restore.
> If you don't have original records, it can be a problem.
> Try to restore database till the privileges error and then pump data
> from partially restored database to the new empty database with the
> same structure - you can use free tool IBDataPump for it.
> If problems continue, you can export data using our proprietary
> IBBackupSurgeon tool (http://ib-aid.com/en/ibbackupsurgeon/), which
> can export data on low-level.
>
> Regards,
> Alexey Kovyazin
> IBSurgeon