|Subject||Re: [firebird-support] GBAK - validation error for column X, value "*** null ***"|
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.
What would be a proper way of dealing with GBAK restore error
'validation error for column X, value "*** null ***"'? This error
appears in one table, where X is the primary key. The database is
Firebird 2.5.4 in the superserver mode.
1) How do I properly restore this backup? Neither -INACTIVE nor
-NO_VALIDITY (nor both at the same time) help, the restore stops as soon
as the first error is encountered. -ONE_AT_A_TIME gets me to the end of
table data, but then I get another error at the "restoring privilege for
user Y" "action cancelled by trigger (3) to preserve data integrity"
"table/procedure has non-SQL security class defined".
2) Why doesn't GBAK complain during backup? I would expect that if a
backup is successfully made, I will be able to restore it.