Subject Backup becomes corrupt - But the original database is fine
Author jpersson1

I have a problem with Firebird 2.1.2 RC2 that has been puzzling me for some time. I've also tried earlier versions of Firebird and they seem to have the same problem.

When I try to take a backup while the server is handling other transactions, the resulting FDB-file will contain errors as reported by gfix. This has been verified with both the embedded and the standalone super server.

C:\>gfix.exe -validate -full acs.fdb
Summary of validation errors

Number of record level errors : 83
Number of index page errors : 3

If I do not have any other active transactions while the backup is running, then the backup is fine.

I'm using the FbBackup service in Firebird .NET Data Provider, in this way:

FbBackup backupSvc = new FbBackup();
backupSvc.ConnectionString = "User=SYSDBA;ServerType=1;Password=masterkey;Database=db.fdb";
backupSvc.BackupFiles.Add(new FbBackupFile(backupFilename, 2048));
backupSvc.Options = FbBackupFlags.IgnoreLimbo;

And the restore looks like this:

FbRestore restoreSvc = new FbRestore();
restoreSvc.ConnectionString = "User=SYSDBA;ServerType=1;Password=masterkey;Database=" + fbkTempFilename
restoreSvc.BackupFiles.Add(new FbBackupFile(backupGbkFilename, 2048));
restoreSvc.Options = FbRestoreFlags.Create | FbRestoreFlags.Replace;
restoreSvc.PageSize = 16384;

I would be most helpful for any help you can provide in this matter.

//Jan Persson