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
| Available in: Lightning Experience |
| Available in: Professional, Enterprise, Performance, and Unlimited Editions with the Salesforce Backup & Recover add-on license. |
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.
| Exception Code | Error Cause | Tips for Fixing the Problem |
|---|---|---|
| BACKUP_DATA_MISSING | The object being exported or restored has never been backed up. | Add the object to the backup scope in the backup policy and complete at least 1 backup. |
| DUPLICATE_EXTERNAL_ID | A user-specified external ID matches more than one record. | Export to CSV and manually edit the values as needed before importing your data. |
| ENTITY_IS_DELETED | 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. | Restore both the parent record and the child record, so the child ID is recreated and updated. |
| ENTITY_IS_LOCKED | An approval process has locked a record, rendering it read only. | 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. |
| FIELD_CUSTOM_VALIDATION_EXCEPTION | A custom validation formula in the backup or restore job violates a field integrity rule. | 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. |
| FIELD_FILTER_VALIDATION_EXCEPTION | One or more fields in the backup or restore job violate field integrity rules. | 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. |
| INACTIVE_OWNER_OR_USER | An inactive user owns one or more records in the backup or restore job. | 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. |
| INTEGRATION_USER_DOES_NOT_HAVE_ACCESS_TO_FOLDER | One or more files selected for restoration were backed up in a folder that the integration user doesn't have access to. | Give the integration user access to the library or folder that contained the file that was backed up. |
| INVALID_OR_NULL_FOR_RESTRICTED_PICKLIST | 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. | 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. |
| INVALID_SESSION_ID | Either the specified session ID is malformed, such as with an incorrect length or format, or the session has expired. | Reconnect the app's connection on the Settings tab or log in again to start a new session. |
| INVALID_TYPE_ON_FIELD_IN_RECORD | 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. | Export to CSV and manually edit the values as needed before importing your data. |
| INVALID_USERID | The backup or restore process references the user ID for a user that isn't an active member of your org. | Export to CSV and manually edit the values as needed before importing your data. |
| INVALID_USER_OBJECT | The user object isn't valid. | Export to CSV and manually edit the values as needed before importing your data. |
| MISSING_PERMISSION | The integration user doesn't meet one or more of the required access conditions to back up all objects in the service. | Review all access settings for objects that show the MISSING_PERMISSION status in logs. Correct any access gaps, then run the backup again. |
| MISSING_RECORD_TYPE | The record type associated with the record in the backup doesn't exist in the org. | Use these workarounds.
|
| REQUIRED_FIELD_MISSING | A call requires a field that wasn't specified. | 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. |
| RESTORE_REQUEST_NOT_SUPPORTED | The user attempted to export records that were part of a restore job from the Log page. | Configure the export process from the Restore & Export page. |
| SELF_REFERENCE_FROM_TRIGGER | 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 For example, a request is submitted to update object A. A
|
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. |
| SKIPPED | 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. | 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. |
| UNABLE_TO_LOCK_ROW | 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. 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. |
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. You can also export to CSV and manually update the values as needed before importing your data. |
| UNAVAILABLE_RECORDTYPE_EXCEPTION | The required default record type wasn't found. | Recreate the appropriate RecordType. You can also export to CSV
and manually edit the values as needed before importing your data. |
| UNKNOWN_EXCEPTION | The system encountered an internal error. | Contact Salesforce Customer Support and provide your org ID, execution ID, and filter settings. |

