Database restore


Interbase

6.0

Backup database using:

GBAK -B -v -y DB-BAK.LOG DB.GDB DB.GBK -u SYSDBA -password ****

and restore it using:

GBAK -c -v -y DB-RES.LOG DB.GBK DB.GDB -u SYSDBA -password ****

But restore is aborted with error:

gbak: restoring privilege for user USER1
gbak: ERROR: action cancelled by trigger (1) to preserve data integrity
gbak: ERROR: could not find column for GRANT
gbak: Exiting before completion due to errors

What happened is clear when was compared original and restored database metadata difference found. There are grant rights to dropped columns in original metadata left:

GRANT UPDATE ("DELETED_COLUMN") ON "TABLE1" TO "USER1";

Revoke all these dummy rights from original database and backup again:

REVOKE UPDATE ("DELETED_COLUMN") FROM "TABLE1" TO "USER1";