Why Can't I Restore History Objects?

    Salesforce allows you to enable field history tracking on your custom objects, and on most standard objects. When enabled, Salesforce tracks field value changes on that record through a dedicated History Object. It's useful for giving a history of changes over time but has limitations through the API on restoration.

    When enabled, every time Salesforce detects a field value change, a new record is created in the related History record. This record stores information such as date and time of the field value change, name of field changed, user making the change, original field value, and new field value. Behind the scenes, it also stores the RecordID for the parent object record to which the History record belongs.

    Although you can backup History tables, the Salesforce API excludes 'create' and 'upsert' calls for History tables, to keep their integrity and time relation intact with the parent object/record.

    What is the importance of History tables in the backup then?

    History tables may reveal important information that can be useful for investigation purposes when trying to ascertain "the what" during a recovery scenario. They may also be handy for audit purposes and safekeeping of transactional information over time. You may export the History objects via the Backup History page, here is a video that overviews it.

    By default, History tables are included, but you may exclude them if you do not need them in the backup, data security, or you need to reduce the backup duration. 

    This is done through the Backup Service-->Backup Exclusions-->New Rule-->Group of Tables-->History Tables checkbox. For more information, click here.





    « Previous ArticleNext Article »

    Contact Us

    Sometimes you just want to talk to someone. Our customer support team is available by phone:
    Request a Technical Support Call Back