Subject Firebird 2.52 gbak fails to do a restore - error trigger (3)
Author Jack Mason
We have backed up our databases daily for two years using Firebird 2.52
Superserver and its associated gbak. We now need to restore one of the
databases and gbak fails to do the restore, giving the following error:


gbak: restoring column DISCOUNT
gbak: restoring column DEPOSIT
gbak: restoring column MAXPRICE
gbak: restoring column COST
gbak: restoring column SHIPPING
gbak: restoring column REFID
gbak: restoring column PAID_DOWN
gbak: restoring column PAID_LAST
gbak: restoring column INVOICE
gbak: restoring column SOURCE
gbak: restoring column NAME
gbak: restoring column STOCKID
gbak: restoring column STOCKNO
gbak: restoring column HOME
gbak: restoring column OFFICE
gbak: restoring column OFCLABEL
gbak: restoring column BEEPER
gbak: restoring column BEEPERLABEL
gbak: restoring column QTY
gbak: restoring column QTY_REC
gbak: restoring column QTY_PRI
gbak: restoring column QTY_SEC
gbak: restoring column QTY_BO
gbak: restoring column ORDERED_FROM
gbak: restoring column ORDER_FROM
gbak: restoring column STATUS
gbak: restoring column AVAILABLE
gbak: restoring column NOTES
gbak: restoring column EMAIL
gbak: restoring column THIRDSRC
gbak: restoring column HOW_NOTIFIED
gbak: restoring column PREV_NOTIFY
gbak: restoring column EDITION
gbak: restoring column FORMAT
gbak: restoring column CONDITION
gbak: restoring column SIGNED
gbak: restoring column BINDING
gbak: restoring column WAITCHECK
gbak: restoring column STOCKTYPE
gbak: restoring column GIFT
gbak: restoring column CREDITCARD
gbak: restoring column NON_TAXABLE
gbak: restoring column DONT_COUNT
gbak: restoring column REORDER
gbak: restoring column RECTYPE
gbak: restoring column SPECIAL
gbak: restoring column LOGGED
gbak:restoring table REQUESTS
gbak: restoring column WHO_ENTERED
gbak: restoring column DATE_ENTERED
gbak: restoring column ISBN
gbak: restoring column NEW_ID
gbak: restoring column STOCKNO
gbak: restoring column NOTES
gbak: restoring column STATUS
gbak: restoring column PRICE_RANGE
gbak: restoring column ISSUED
gbak: restoring column PUBLISHER
gbak: restoring column ID
gbak: restoring column AUTHOR
gbak: restoring column TITLE
gbak: restoring column SOFTWARE
gbak: restoring column GAME
gbak: restoring column PAPERBACK
gbak: restoring column HARDBACK
gbak: restoring column CASSETTE
gbak: restoring column VIDEO
gbak: restoring column DVD
gbak: restoring column CDROM
gbak: restoring column DISKFIVE
gbak: restoring column DISKTHREE
gbak: restoring column READINGCOPY
gbak: restoring column BOOKCLUB
gbak: restoring column FIRST_ED
gbak:restoring table STANDING
gbak: restoring column WHO_ENTERED
gbak: restoring column LASTONE
gbak: restoring column TITLE
gbak: restoring column AUTHOR
gbak: restoring column NAME
gbak:restoring table INVOICES
gbak: restoring column PAID
gbak: restoring column INVOICEDATE
gbak: restoring column AMOUNT
gbak: restoring column NUMBER
gbak: restoring column CUSTOMER_ID
gbak:restoring table ON_ORDER
gbak: restoring column DATE_TO_SHIPPING
gbak: restoring column WHO_TO_SHIPPING
gbak: restoring column DATE_EMAILEDSHIP
gbak: restoring column WHO_EMAILEDSHIP
gbak: restoring column WHO_SHIPPED
gbak: restoring column TOSHIPPING
gbak: restoring column DATE_RECEIVED
gbak: restoring column DATE_ORDERED
gbak: restoring column DATE_MODIFIED
gbak: restoring column DATE_ENTERED
gbak: restoring column DATE_CANCELLED
gbak: restoring column PONUM
gbak: restoring column WHO_PAID
gbak: restoring column DATE_LAST_PAID
gbak: restoring column SKIP_NOTIFY
gbak: restoring column WHO_WAITCHECK
gbak: restoring column WHO_LAST_NOTIFIED
gbak: restoring column WHO_NOTIFIED
gbak: restoring column WHO_RECEIVED
gbak: restoring column WHO_ORDERED
gbak: restoring column WHO_MODIFIED
gbak: restoring column WHO_ENTERED
gbak: restoring column DATE_WAITCHECK
gbak: restoring column DATE_LAST_NOTIFIED
gbak: restoring column DATE_NOTIFIED
gbak: restoring column DATE_EXPECTED
gbak: restoring column WEBORDER
gbak: restoring column REFID
gbak: restoring column SHIPPING
gbak: restoring column COST
gbak: restoring column MAXPRICE
gbak: restoring column DEPOSIT
gbak: restoring column DISCOUNT
gbak: restoring column SELLPRICE
gbak: restoring column LISTPRICE
gbak: restoring column AUTHOR
gbak: restoring column SOURCE
gbak: restoring column INVOICE
gbak: restoring column PAID_LAST
gbak: restoring column PAID_DOWN
gbak: restoring column PICKINGUP
gbak: restoring column CODE
gbak: restoring column SHIPPING_STATUS
gbak: restoring column DIGITS
gbak: restoring column TRACKING
gbak: restoring column WAITCHECK
gbak: restoring column BINDING
gbak: restoring column SIGNED
gbak: restoring column CONDITION
gbak: restoring column FORMAT
gbak: restoring column EDITION
gbak: restoring column PREV_NOTIFY
gbak: restoring column HOW_NOTIFIED
gbak: restoring column THIRDSRC
gbak: restoring column QTY_BO
gbak: restoring column QTY_SEC
gbak: restoring column QTY_PRI
gbak: restoring column QTY_REC
gbak: restoring column QTY
gbak: restoring column BEEPERLABEL
gbak: restoring column BEEPER
gbak: restoring column OFCLABEL
gbak: restoring column OFFICE
gbak: restoring column HOME
gbak: restoring column STOCKNO
gbak: restoring column NAME
gbak: restoring column ID
gbak: restoring column TITLE
gbak: restoring column SELLERNAME
gbak: restoring column NEW_PRIOR
gbak: restoring column EMAIL
gbak: restoring column NOTES
gbak: restoring column AVAILABLE
gbak: restoring column STATUS
gbak: restoring column ORDER_FROM
gbak: restoring column ORDERED_FROM
gbak: restoring column BADEMAIL
gbak: restoring column EMAILENTERED
gbak: restoring column SHIPTO
gbak: restoring column SHIPADDR
gbak: restoring column SHIPADDR2
gbak: restoring column SHIPCITY
gbak: restoring column SHIPSTATE
gbak: restoring column SHIPZIP
gbak: restoring column ITEMID
gbak: restoring column TO_SHIPPING
gbak: restoring column DATE_SHIPPED
gbak: restoring column SHIPPED
gbak: restoring column LOGGED
gbak: restoring column SPECIAL
gbak: restoring column RECTYPE
gbak: restoring column REORDER
gbak: restoring column DONT_COUNT
gbak: restoring column NON_TAXABLE
gbak: restoring column PRINTONDEMAND
gbak: restoring column SHIP_IT
gbak: restoring column REFUNDABLE
gbak: restoring column PRIORITY
gbak: restoring column CREDITCARD
gbak: restoring column GIFT
gbak: restoring column SHIPTYPE
gbak:restoring table PENDING
gbak: restoring column DATE_ENTERED
gbak: restoring column DATE_NOTIFIED
gbak: restoring column WHO_ENTERED
gbak: restoring column WHO_NOTIFIED
gbak: restoring column AUTHOR
gbak: restoring column LISTPRICE
gbak: restoring column DISCOUNT
gbak: restoring column DEPOSIT
gbak: restoring column SHIPPING
gbak: restoring column TITLE
gbak: restoring column ID
gbak: restoring column NAME
gbak: restoring column STOCKNO
gbak: restoring column HOME
gbak: restoring column OFFICE
gbak: restoring column OFCLABEL
gbak: restoring column QTY
gbak: restoring column EDITION
gbak: restoring column FORMAT
gbak: restoring column CONDITION
gbak: restoring column SIGNED
gbak: restoring column BINDING
gbak: restoring column EMAIL
gbak: restoring column SELLERNAME
gbak: restoring column STATUS
gbak: restoring column NON_TAXABLE
gbak: restoring column RECTYPE
gbak: restoring column SHIP_IT
gbak:restoring table TRADELOG
gbak: restoring column TRADE_DESC
gbak: restoring column DATE_TIME
gbak: restoring column TRADE_ID
gbak: restoring column POINTS_ADDED
gbak: restoring column POINTS_USED
gbak: restoring column DISCARDS
gbak: restoring column DISCARD_COUNT
gbak: restoring column BALANCE
gbak: restoring column TRADE_COUNT
gbak: restoring column CUSTID
gbak: restoring column CUST
gbak: restoring column WHO
gbak: restoring column WHO_COMPLETED
gbak:restoring generator WEBID value: 4639
gbak: committing metadata
gbak:restoring data for table TRADELOG
gbak: 10000 records restored
gbak: 20000 records restored
gbak: 30000 records restored
gbak: 40000 records restored
gbak: 42317 records restored
gbak: restoring index CUSTID
gbak: restoring index RDB$PRIMARY6
gbak: restoring index CUST_NAME
gbak: restoring index STOCK_NUM
gbak:restoring data for table ON_ORDER
gbak: 559 records restored
gbak: restoring index RDB$PRIMARY11
gbak:restoring data for table INVOICES
gbak: 27 records restored
gbak: restoring index RDB$PRIMARY21
gbak: restoring index RDB$PRIMARY9
gbak: restoring index REQAUTHOR
gbak: restoring index REQTITLE
gbak:restoring data for table REQUESTS
gbak: 68 records restored
gbak: restoring index RDB$PRIMARY3
gbak: restoring index NAME
gbak: restoring index STOCK_NO
gbak: restoring index STOCKID
gbak:restoring data for table SPECORDERS
gbak: 507 records restored
gbak: restoring index LNAME
gbak: restoring index RDB$PRIMARY7
gbak: restoring index FNAME
gbak: restoring index HOME
gbak: restoring index NEWID
gbak: restoring index OFFICEPHONE
gbak: restoring index FULLNAME
gbak:restoring data for table CUSTOMERS
gbak: 10000 records restored
gbak: 20000 records restored
gbak: 30000 records restored
gbak: 40000 records restored
gbak: 50000 records restored
gbak: 60000 records restored
gbak: 70000 records restored
gbak: 70094 records restored
gbak: restoring privilege for user SYSDBA
gbak: restoring privilege for user SYSDBA
gbak: restoring privilege for user SYSDBA
gbak: restoring privilege for user SYSDBA
gbak: restoring privilege for user SYSDBA
gbak: restoring privilege for user PUBLIC
gbak: restoring privilege for user SYSDBA
gbak: restoring privilege for user SYSDBA
gbak: restoring privilege for user SYSDBA
gbak: restoring privilege for user SYSDBA
gbak: restoring privilege for user SYSDBA
gbak: restoring privilege for user PUBLIC
gbak: restoring privilege for user SYSDBA
gbak: restoring privilege for user SYSDBA
gbak: restoring privilege for user SYSDBA
gbak: restoring privilege for user SYSDBA
gbak: restoring privilege for user SYSDBA
gbak: restoring privilege for user PUBLIC
gbak: restoring privilege for user SYSDBA
gbak: ERROR:action cancelled by trigger (3) to preserve data integrity
gbak: ERROR: table/procedure has non-SQL security class defined
gbak:Exiting before completion due to errors


We have no procedures defined in or for our database. It appears gbak
has restored the database except for something at the end. The database
is working correctly every day. Is this copy of the database backup toast?


Should we be using a different backup tool like nbackup? Can we use
Interbase gbak to recreate the database?


We are backing up our databases on Windows 7 using 2.52 Superserver.
The databases are on a Linux Mint server. However, when we are trying
to do the restore, we are restoring it to a directory on Windows 7
because we don't trust restoring it over the currently running
database. So, the backup and restore are both on the same Windows 7
computer using the same 2.52 Superserver.


We need some data from the database from yesterday, so we just wanted to
restore that long enough to pull the data. The table we want, ON_ORDER,
appears to have been restored but we cannot open the restored database
to access it.


Help?