Patent ID: 8364640

Claim:
A method for restoring a database from a backup copy of the database storing data in a plurality of blocks, wherein the backup copy of the database includes identifiers which describe a relationship between the blocks, the method comprising: initiating restoration of the database from the backup copy of the database, the database having been customized prior to the database having been backed up; rebuilding the database from the backup copy of the database according to a template, wherein rebuilding the database according to the template results in a rebuilt database which does not reflect customizations made to the database prior to the backup, and wherein said rebuilding comprises generating new globally unique identifiers (GUID) in the rebuilt database for corresponding old GUIDs stored in the backup copy of the database, wherein a database comprises a plurality of GUIDs, each of which represents a globally unique identifier used to reference records and lists of items within the database; identifying differences between the database represented by the backup copy of the database and the rebuilt database; and modifying the rebuilt database to reflect said differences so that the rebuilt database is equivalent to the backup copy of the database, wherein said modifying comprises: selecting a given level of a hierarchy of the rebuilt database; querying the rebuilt database to obtain at least one new GUID corresponding to the given level; updating a mapping of new GUIDs in the rebuilt database to old GUIDs in the backup copy of the database; and using the at least one new GUID and said mapping to modify the rebuilt database to reflect said customizations.