Step 7. Enable Hierarchy Restore
At the Hierarchy step of the wizard, Veeam Backup for Salesforce allows you to restore relationships to parent and child objects linked to the record that you want to restore.
Hierarchy object restore is based on processing the lookup relationship fields of the records. When restoring relationships, Veeam Backup for Salesforce searches for all records that link to the restored record, and does the following:
- If a child record exists in Salesforce, the product updates the lookup field value of the child record and does not proceed to deeper levels of the hierarchy from this child record, assuming that the lower hierarchy is correct for this existing record.
- If a child record does not exist, the product restores the missing record using the most relevant backup version, and then continues verifying child hierarchy at deeper levels.
Consider the following example: in a backup, an Account object has 3 Contacts. A user has selected to restore the [Account] [Contact] and [Account] [Contact] [Task] hierarchy branches. In this case, Veeam Backup for Salesforce will perform the following operations during restore:
- Restore/overwrite the Account record.
- Check whether Contact records exist — 2 Contacts have been found in our example.
- Update the lookup field values for the existing 2 Contacts and stop processing deeper levels for these records.
- Restore the 3rd Contact and proceed with restoring the Task object records for this Contact.
Restoring Lookup Relationships
To restore lookup relationships for the records selected at step 5 of the wizard, do the following:
- Set the Restore object hierarchy toggle to On.
Hierarchy restore can affect hundreds or thousands of records in Salesforce, and restoring even a single record and validating results can be tedious. That is why if you enable the hierarchy restore functionality, you can select a maximum of 10 Salesforce records to recover in one restore session. You can modify the default restore limits as described in Configuring Advanced Settings.
- To specify the child hierarchy that must be restored, do the following for each record added to the restore session:
- In the Configure hierarchy for restore. Review all records. section, select a record from the Record drop-down list.
- In the list of lookup relationships for the record, select check boxes next to the objects to which you want to restore relationships. Veeam Backup for Salesforce will restore relationships only to objects that you have selected — if you do not expand the object node, objects under the node remain unselected and relationships to these objects will not be restored.
You can click Select All at the top of the lookup relationships list to select all displayed objects. However, objects under the closed nodes will remain unselected. To select all objects, expand all nodes first, and then click Select All.
You must review all records in the Configure hierarchy for restore section. For the records that have not been reviewed, Veeam Backup for Salesforce will restore the complete child hierarchy to an unlimited depth.
- To specify the number of parent hierarchy levels that must be restored for all records, click Advanced Settings under the Restore objects hierarchy toggle. In the Advanced Hierarchy Settings window, select the maximum level of the parent object hierarchy. By default, Veeam Backup for Salesforce restores only one parent relationship level.
You must consider that the advanced hierarchy settings are applied to every restored record in the session not only to the records selected at step 5 of the wizard. It means that if Veeam Backup for Salesforce does not find a child record in Salesforce, it will restore the record and then will verify lookup links to it parent records. This process will repeat for all child records that are missing from Salesforce and created by the restore job.