---
schema_version: "1"
id: 958cd6e4a7d22f4e7ad622ecd57a8ec5805a3a5757aa4fa0c4d7f444cc9603ff
title: Exception Codes for Troubleshooting Salesforce Backup
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/xcloud/264-0-0/backup_restore_error_codes.md
canonical_url: https://help.salesforce.com/s/articleView?id=xcloud.backup_restore_error_codes.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: b8e78a4d493b5c06d647b6866bb7a849b65c9575048e57fe3ae6b58cc38eeb1b
description: Salesforce Backup shows exception codes for specific errors that can happen during backup and restore processes. Use the exception code to determine what caused the error and how to fix the problem.
products:
  - Salesforce Platform
  - Cross Cloud
release: "264"
---
# Exception Codes for Troubleshooting Salesforce Backup

Salesforce Backup shows exception codes for specific errors that can happen during backup and restore processes. Use the exception code to determine what caused the error and how to fix the problem.

### Required Editions

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small edition"><colgroup><col></colgroup><tbody><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Available in: Lightning Experience</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Available in: <strong>Professional</strong>, <strong>Enterprise</strong>, <strong>Performance</strong>, and <strong>Unlimited</strong> Editions with the Salesforce Backup &amp; Recover add-on license.</td></tr></tbody></table>

![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-xcloud-setup-264-0-0-production-enus/6f21df35-9ea0-4f53-ac94-45c3b5dfd5bc/images/icon_note.png)

Note This content relates to Salesforce Backup. Read about Backup & Recover in [Own from Salesforce](https://help.salesforce.com/s/articleView?id=platform.own_from_salesforce.htm&type=5&language=en_US).

If a backup or restore process ends with an error, exception codes on the Log Detail page indicate the cause of the error. Use this table to identify causes and tips for fixing the most likely issues. If your process ends in an error that's not listed here, contact Salesforce Customer Support for help.

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small " summary="Salesforce Backup Error Exception Codes">
      <caption>Salesforce Backup Error Exception Codes</caption>
      <colgroup>
        <col style="width:33.33333333333333%">
        <col style="width:33.33333333333333%">
        <col style="width:33.33333333333333%">
      </colgroup>
      <thead class="slds-text-title_caps ">
        <tr class="">
          <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d37472e85">Exception Code</th>
          <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d37472e88">Error Cause</th>
          <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d37472e91">Tips for Fixing the Problem</th>
        </tr>
      </thead>
      <tbody>
        <tr class="">
          <td data-label="Exception Code" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e85 ">BACKUP_DATA_MISSING</td>

          <td data-label="Error Cause" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e88 ">The object being exported or restored has never been backed up.</td>

          <td data-label="Tips for Fixing the Problem" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e91 ">Add the object to the backup scope in the backup policy and complete at least 1
            backup.</td>

        </tr>
        <tr class="">
          <td data-label="Exception Code" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e85 ">DUPLICATE_EXTERNAL_ID</td>

          <td data-label="Error Cause" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e88 ">A user-specified external ID matches more than one record.</td>

          <td data-label="Tips for Fixing the Problem" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e91 ">Export to CSV and manually edit the values as needed before importing your
            data.</td>

        </tr>
        <tr class="">
          <td data-label="Exception Code" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e85 ">ENTITY_IS_DELETED</td>

          <td data-label="Error Cause" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e88 ">The backup or restore job references an object that's deleted. If you try to
            restore a child record when the parent record is deleted, this error message appears
            because the child ID value doesn't exist.</td>

          <td data-label="Tips for Fixing the Problem" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e91 ">Restore both the parent record and the child record, so the child ID is recreated
            and updated.</td>

        </tr>
        <tr class="">
          <td data-label="Exception Code" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e85 ">ENTITY_IS_LOCKED</td>

          <td data-label="Error Cause" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e88 ">An approval process has locked a record, rendering it read only.</td>

          <td data-label="Tips for Fixing the Problem" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e91 ">To restore the record, you must have record-level edit access. Ask an admin to
            turn off the approval process temporarily. When the restoration job completes, the
            admin can reinstate the approval process.</td>

        </tr>
        <tr class="">
          <td data-label="Exception Code" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e85 ">FIELD_CUSTOM_VALIDATION_EXCEPTION</td>

          <td data-label="Error Cause" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e88 ">A custom validation formula in the backup or restore job violates a field
            integrity rule.</td>

          <td data-label="Tips for Fixing the Problem" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e91 ">Update the field integrity rule so that the value can be restored. You can also
            export the backup as a CSV and manually edit the values as needed before importing
            your data.</td>

        </tr>
        <tr class="">
          <td data-label="Exception Code" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e85 ">FIELD_FILTER_VALIDATION_EXCEPTION</td>

          <td data-label="Error Cause" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e88 ">One or more fields in the backup or restore job violate field integrity
            rules.</td>

          <td data-label="Tips for Fixing the Problem" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e91 ">Update the rule so that the value can be restored. You can also export to CSV and
            manually edit the values as needed before importing your data.</td>

        </tr>
        <tr class="">
          <td data-label="Exception Code" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e85 ">INACTIVE_OWNER_OR_USER</td>

          <td data-label="Error Cause" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e88 ">An inactive user owns one or more records in the backup or restore job.</td>

          <td data-label="Tips for Fixing the Problem" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e91 ">Reactivate the inactive user or reassign record ownership to an active user. You
            can also export to CSV and manually edit the values as needed before importing your
            data.</td>

        </tr>
        <tr class="">
          <td data-label="Exception Code" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e85 ">INTEGRATION_USER_DOES_NOT_HAVE_ACCESS_TO_FOLDER</td>

          <td data-label="Error Cause" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e88 ">One or more files selected for restoration were backed up in a folder that the
            integration user doesn't have access to.</td>

          <td data-label="Tips for Fixing the Problem" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e91 ">Give the integration user access to the library or folder that contained the file
            that was backed up.</td>

        </tr>
        <tr class="">
          <td data-label="Exception Code" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e85 ">INVALID_OR_NULL_FOR_RESTRICTED_PICKLIST</td>

          <td data-label="Error Cause" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e88 ">Either the restore job includes a picklist whose values are restricted to a
            defined set that doesn't match the backup or the backup contains one or more null
            values.</td>

          <td data-label="Tips for Fixing the Problem" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e91 ">Adjust the picklist values to match the values present in the backup, and then
            run the restore job. You can also export to CSV and manually edit the values as needed
            before importing your data.</td>

        </tr>
        <tr class="">
          <td data-label="Exception Code" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e85 ">INVALID_SESSION_ID</td>

          <td data-label="Error Cause" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e88 ">Either the specified session ID is malformed, such as with an incorrect length or
            format, or the session has expired.</td>

          <td data-label="Tips for Fixing the Problem" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e91 ">Reconnect the app's connection on the Settings tab or log in again to start a new
            session.</td>

        </tr>
        <tr class="">
          <td data-label="Exception Code" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e85 ">INVALID_TYPE_ON_FIELD_IN_RECORD</td>

          <td data-label="Error Cause" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e88 ">The field value on the record isn't valid for the field's type. Invalid record
            types can happen when the object's schema has changed and is no longer compatible with
            the backed-up data.</td>

          <td data-label="Tips for Fixing the Problem" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e91 ">Export to CSV and manually edit the values as needed before importing your
            data.</td>

        </tr>
        <tr class="">
          <td data-label="Exception Code" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e85 ">INVALID_USERID</td>

          <td data-label="Error Cause" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e88 ">The backup or restore process references the user ID for a user that isn't an
            active member of your org.</td>

          <td data-label="Tips for Fixing the Problem" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e91 ">Export to CSV and manually edit the values as needed before importing your
            data.</td>

        </tr>
        <tr class="">
          <td data-label="Exception Code" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e85 ">INVALID_USER_OBJECT</td>

          <td data-label="Error Cause" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e88 ">The user object isn't valid.</td>

          <td data-label="Tips for Fixing the Problem" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e91 ">Export to CSV and manually edit the values as needed before importing your
            data.</td>

        </tr>
        <tr class="">
          <td data-label="Exception Code" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e85 ">MISSING_PERMISSION</td>

          <td data-label="Error Cause" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e88 ">The integration user doesn't meet one or more of the required access conditions
            to back up all objects in the service.</td>

          <td data-label="Tips for Fixing the Problem" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e91 ">Review all access settings for objects that show the MISSING_PERMISSION status in
            logs. Correct any access gaps, then run the backup again.</td>

        </tr>
        <tr class="">
          <td data-label="Exception Code" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e85 ">MISSING_RECORD_TYPE</td>

          <td data-label="Error Cause" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e88 ">The record type associated with the record in the backup doesn't exist in the
            org.</td>

          <td data-label="Tips for Fixing the Problem" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e91 ">
            <p>Use these workarounds.</p>
            <ul>
              <li>For the object that you want to restore, edit the record type's configuration.
                Then run the restore process for these records again.</li>

              <li>Export the records and then add the correct value to the record type field in
                the restored record. Use a third-party tool, such as Workbench, to update the
                records to your org.</li>

            </ul>
          </td>

        </tr>
        <tr class="">
          <td data-label="Exception Code" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e85 ">REQUIRED_FIELD_MISSING</td>

          <td data-label="Error Cause" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e88 ">A call requires a field that wasn't specified.</td>

          <td data-label="Tips for Fixing the Problem" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e91 ">Recreate the missing field on the record and then run the restore job. You can
            also export to CSV and manually edit the values as needed before importing your
            data.</td>

        </tr>
        <tr class="">
          <td data-label="Exception Code" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e85 ">RESTORE_REQUEST_NOT_SUPPORTED</td>

          <td data-label="Error Cause" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e88 ">The user attempted to export records that were part of a restore job from the Log
            page.</td>

          <td data-label="Tips for Fixing the Problem" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e91 ">Configure the export process from the Restore &amp; Export page.</td>

        </tr>
        <tr class="">
          <td data-label="Exception Code" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e85 ">SELF_REFERENCE_FROM_TRIGGER</td>

          <td data-label="Error Cause" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e88 ">
            <p>Apex triggers that recursively update or delete an object interfere with backup
              and restore jobs. Common causes of this error are when an object is updated or deleted
              from within a <code>before</code> trigger or when an object is deleted from within
              an <code>after</code> trigger. This error occurs with both direct and indirect
              operations. </p>
            <p style="margin-bottom:0;">For example, a request is submitted to update object A. A
              <code>before update</code> trigger on object A creates a second object, object
              B. Object A is updated. An <code>after insert</code> trigger on object B then
              queries object A and updates it. This update is an indirect update on object A
              because of the <code>before trigger</code>. An error is generated.
            </p>
          </td>

          <td data-label="Tips for Fixing the Problem" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e91 ">Fix the Apex trigger code causing the issue. You can also export to CSV and
            manually edit the values as needed before importing your data.</td>

        </tr>
        <tr class="">
          <td data-label="Exception Code" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e85 ">SKIPPED</td>

          <td data-label="Error Cause" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e88 ">A record, file, or attachment wasn't included in a backup. Data is most
            frequently skipped when one backup job starts while another backup is in progress.
            Skipped backups can happen when, for example, a user starts a delta backup while a
            scheduled backup is running.</td>

          <td data-label="Tips for Fixing the Problem" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e91 ">Review the previous backup, looking for records, files, or attachments skipped by
            the most recent job. Make sure that the data you want to back up is included in one of
            the last few backups.</td>

        </tr>
        <tr class="">
          <td data-label="Exception Code" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e85 ">UNABLE_TO_LOCK_ROW</td>

          <td data-label="Error Cause" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e88 ">
            <p>A deadlock or timeout condition was detected. A deadlock involves at least two
              transactions that update overlapping sets of objects. If the transaction involves a
              summary field, the parent objects are locked, making these transactions especially
              prone to deadlocks. </p>
            <p style="margin-bottom:0;">A timeout occurs when a transaction takes too long to complete.
              The timeout state is temporary. No action is needed. However, if an object in a
              batch can't be locked, the entire batch fails with this error.</p>
          </td>

          <td data-label="Tips for Fixing the Problem" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e91 ">
            <p>When available, these error messages contain the IDs of the records that weren't
              locked. Temporarily turn off any workflows or automations that can interfere. </p>
            <p style="margin-bottom:0;">You
              can also export to CSV and manually update the values as needed before importing
              your data.</p>
          </td>

        </tr>
        <tr class="">
          <td data-label="Exception Code" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e85 ">UNAVAILABLE_RECORDTYPE_EXCEPTION</td>

          <td data-label="Error Cause" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e88 ">The required default record type wasn't found.</td>

          <td data-label="Tips for Fixing the Problem" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e91 ">Recreate the appropriate <code>RecordType</code>. You can also export to CSV
            and manually edit the values as needed before importing your data.</td>

        </tr>
        <tr class="">
          <td data-label="Exception Code" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e85 ">UNKNOWN_EXCEPTION</td>

          <td data-label="Error Cause" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e88 ">The system encountered an internal error.</td>

          <td data-label="Tips for Fixing the Problem" class="slds-cell-wrap" style="vertical-align:top;" headers="d37472e91 ">Contact Salesforce Customer Support and provide your org ID, execution ID, and
            filter settings.</td>

        </tr>
      </tbody>
    </table>

#### See Also

- [_SOAP API Developer Guide_: Core Data Types Used in API Calls](https://developer.salesforce.com/docs/atlas.en-us.api.meta/api/sforce_api_calls_concepts_core_data_objects.htm#i1421192)