Method and system of performing a granular restore of a database from a differential backup
First Claim
1. A method of performing a granular restore operation to a database, the method comprising:
- detecting a request to restore a database;
identifying a full backup of the database, wherein the full backup corresponds to a state of the database at a first time;
identifying a partial backup of the database, wherein the partial backup corresponds to a state of the database at a second time later than the first time;
presenting at least a portion of a synthetic full backup view of the database based upon the full backup and the partial backup, wherein the synthetic full backup view corresponds to the second time;
detecting user input to the synthetic full backup view selecting a plurality of objects to be restored to respective states corresponding to the second time, wherein the selected plurality of objects includes a first object, wherein a most recent version of the first object corresponding to the second time is stored in the partial backup, wherein an older version of the first object corresponding to the first time is stored in the full backup;
for each respective object of the selected plurality of objects, determining a corresponding backup from which to restore the respective object, wherein the corresponding backup is either the full backup or the partial backup, wherein said determining comprises determining that the most recent version of the first object should be restored from the partial backup and determining that one or more other objects of the selected plurality of objects should be restored from the full backup; and
for each respective object of the selected plurality of objects, restoring the respective object from the corresponding backup determined for the respective object, wherein said restoring comprises restoring the most recent version of the first object from the partial backup and restoring the one or more other objects from the full backup.
7 Assignments
0 Petitions
Accused Products
Abstract
A system and method for performing a granular restore operation of a database from a differential backup of the database. A bitmask is created during a differential backup and stored with the differential backup file. When a user requests a granular restore operation, views of how the database existed at different points of time may be presented to the user. The objects the user wishes to restore may be selected from one of the views. Next, the bitmask may be read to determine if the objects should be retrieved from the differential backup file or a full backup file. Finally, the objects may be restored to the database from the proper file.
65 Citations
20 Claims
-
1. A method of performing a granular restore operation to a database, the method comprising:
-
detecting a request to restore a database; identifying a full backup of the database, wherein the full backup corresponds to a state of the database at a first time; identifying a partial backup of the database, wherein the partial backup corresponds to a state of the database at a second time later than the first time; presenting at least a portion of a synthetic full backup view of the database based upon the full backup and the partial backup, wherein the synthetic full backup view corresponds to the second time; detecting user input to the synthetic full backup view selecting a plurality of objects to be restored to respective states corresponding to the second time, wherein the selected plurality of objects includes a first object, wherein a most recent version of the first object corresponding to the second time is stored in the partial backup, wherein an older version of the first object corresponding to the first time is stored in the full backup; for each respective object of the selected plurality of objects, determining a corresponding backup from which to restore the respective object, wherein the corresponding backup is either the full backup or the partial backup, wherein said determining comprises determining that the most recent version of the first object should be restored from the partial backup and determining that one or more other objects of the selected plurality of objects should be restored from the full backup; and for each respective object of the selected plurality of objects, restoring the respective object from the corresponding backup determined for the respective object, wherein said restoring comprises restoring the most recent version of the first object from the partial backup and restoring the one or more other objects from the full backup. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transitory computer readable storage medium comprising program instructions for performing a granular restore operation, wherein when executed by a computer system, the program instructions are operable to:
-
detect a request to restore a database; identify a full backup corresponding to the database, wherein the full backup corresponds to a state of the database at a first time; identify a partial backup corresponding to the database, wherein the partial backup corresponds to a state of the database at a second time later than the first time; present at least a portion of a synthetic full backup view of the database based upon the full backup and the partial backup, wherein the synthetic full backup view corresponds to the second time; detect user input to the synthetic full backup view selecting a plurality of objects to be restored to respective states corresponding to the second time, wherein the selected plurality of objects includes a first object, wherein a most recent version of the first object corresponding to the second time is stored in the partial backup, wherein an older version of the first object corresponding to the first time is stored in the full backup; for each respective object of the selected plurality of objects, determine a corresponding backup from which to restore the respective object, wherein the corresponding backup is either the full backup or the partial backup, wherein said determining comprises determining that the most recent version of the first object should be restored from the partial backup and determining that one or more other objects of the selected plurality of objects should be restored from the full backup; and for each respective object of the selected plurality of objects, restore the respective object from the corresponding backup determined for the respective object, wherein said restoring comprises restoring the most recent version of the first object from the partial backup and restoring the one or more other objects from the full backup. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computing system for performing a granular restore operation, the system comprising:
-
one or more processors; and memory storing program instructions, wherein the program instructions are executable by the one or more processors to; detect a request to restore a database; identify a full backup corresponding to the database, wherein the full backup corresponds to a state of the database at a first time; identify a partial backup corresponding to the database, wherein the partial backup corresponds to a state of the database at a second time later than the first time; present at least a portion of a synthetic full backup view of the database based upon the full backup and the partial backup, wherein the synthetic full backup view corresponds to the second time; detect user input to the synthetic full backup view selecting a plurality of objects to be restored to respective states corresponding to the second time, wherein the selected plurality of objects includes a first object, wherein a most recent version of the first object corresponding to the second time is stored in the partial backup, wherein an older version of the first object corresponding to the first time is stored in the full backup; for each respective object of the selected plurality of objects, determine a corresponding backup from which to restore the respective object, wherein the corresponding backup is either the full backup or the partial backup, wherein said determining comprises determining that the most recent version of the first object should be restored from the partial backup and determining that one or more other objects of the selected plurality of objects should be restored from the full backup; and for each respective object of the selected plurality of objects, restore the respective object from the corresponding backup determined for the respective object, wherein said restoring comprises restoring the most recent version of the first object from the partial backup and restoring the one or more other objects from the full backup. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification