Hi, I get your point. But I wonder what can happen when we don't kill the existing clients before restoring with the same database file name.
Actually I had a bad exprience on this :) -One client remained active after a restore operation and continued to run on the newly restored database. (It's firebird 2.5.1) -It generated ID numbers which was already consumed with others. -It did not generate any errors even on uniquely indexed rows, the records it created were just not reachable anymore. So I think every client should be disconnected before restoring and this should be a very strict rule for preventing any data loss or conflicts, maybe firebird developers can confirm this. --- In [email protected], Elmar Haneke <elmar@...> wrote: > > > > I have a question on backup/restore. > > > > Think of a firebird classic on a linux box. > > > > -Do a backup with existing attachments > > -After backup, Rename the old gdb file to something else > > -Restore the backup file with the original gdb name. > > You have to kill all connected clients before starting backup and you > have to prevent them from reconnecting until restore is complete. Else > at least the updates done while backup/restore are lost. > > In Addition existing connections should prevent you from renaming the > database. > > As an alternative you should consider if restore&rename is really > required. Just run the backup and do an restore to an dummy database to > verify backup file. It is not required to rebild database on each backup. > > > Elmar >
