From RAD Studio API Documentation
Jump to: navigation, search


type TRestoreOptions = set of TRestoreOption;


typedef System::Set<TRestoreOption, TRestoreOption::DeactivateIndexes, TRestoreOption::ValidationCheck> TRestoreOptions;


Type Visibility Source Unit Parent
IBX.IBServices IBX.IBServices


TRestoreOption and TRestoreOptions indicate what operations take place when restoring an InterBase database.

TRestoreOptions is a set of TRestoreOption values. The following table lists the possible values:


Normally, InterBase rebuilds indexes when it restores a database. If the database contained duplicate entries in a unique index when it was backed up, restoration fails. Duplicate values can be introduced into a database if indexes were temporarily made inactive (for example, to allow insertion of many records or to re-balance an index).

To enable restoration to succeed in this case, set DeactivateIndexes to true. This makes indexes inactive and prevents them from rebuilding.


Normally, InterBase rebuilds previously defined database shadows when it restores a database. To make sure the shadows are not built, set the NoShadow option to true.


If you redefine validity constraints in a database where data is already entered, your data might no longer satisfy the validity constraints. You might not discover this until you try to restore the database, at which time an error about invalid data appears.

To restore a database that contains invalid data, set NoValidity to true. This deletes validity constraints from the metadata. After the database is restored, change the data to make it valid according to the new integrity constraints. Then add back the constraints that were deleted.

Important: Always make a copy of metadata before redefining it; for example with the MetadataOnly option of the Options property of TIBBackupService.


Set OneRelationATime to true to restore the metadata and data for each table together, one table at a time.

This option is useful when you are having trouble restoring a backup file; for example, if the data is corrupt or invalid according to integrity constraints.


Your application cannot overwrite an existing database file unless you set Replace to true. If you attempt to restore to an existing database name and this option is not set, then the restore will not proceed.

Important: Do not restore an existing database file when clients are operating on it. A safer approach is to rename the existing database file, restore the database, then drop or archive the old database as needed.


To restore a database to a new file, set the Create option to true.


When InterBase restores a database, it fills each data page to 80% of capacity by default. To set your application to restore a database with a 100% fill ratio on each data page, set the UseAllSpace option to true.