Submitted By: nealo
With GFIX -force, I cannot use GBAK to perform a
restore. Windows reports the DB file as 'in-use' until
all instances of the firebird clients (that were
connected when the -force was performed) are closed.
I'm using FB 22.214.171.12406 (super server) on winXP sp1
Full description (mostly) as posted in
The -force option for GFIX does not seem to work
correctly. As a result, I am not able to automate the
backup/restore process. I'm just following the
procedure outlined at firebird.sourceforge.net and
posting it here first.
To reproduce the bug:
- use an FB client (I used IBAccess in my test) to
connect to a database using a user other than SYSDBA or
- from a command prompt:
gfix -user "SYSDBA" -password "masterkey" -shut -force
When GFIX completes, the database connection
established in IBAccess can no longer do anything
(expected), but when I try to perform a restore to the
database using GBAK
gbak -R -user "SYSDBA" -password "masterkey" <backup
gbak: ERROR: could not drop database <database>
(database might be in use)
gbak: Exiting before completion due to errors
If I then close IBAccess, the GBAK call succeeds.
gfix -force does prevent new connections and it does
prevent existing connections from doing anything. But
it seems that the existing connection still keeps a
grip on the database file.
So I can't reliably automate a database backup/restore.
End users have a bad habit of leaving the client
application open overnight.
I don't know if this is a bug with GFIX or with FBServer.