Follow these instructions to view logs in Salesforce Backup. These Salesforce Backup Logs contain information about the status of various Salesforce Backup policies and activity.
REQUIRED EDITIONS for Salesforce Backup Logs
Available in: Lightning Experience |
Available in: Professional, Enterprise, Performance, and Unlimited Editions Requires the Backup and Restore add-on subscription. |
- Click the Logs tab. You can review the time a job began and its status.
- To see details about a backup or restore job, in the Log Name column, click an entry.
- On the log detail page, review information about the job, including when it finished, the Run ID, its status, and the objects included in the backup or restore job.
- For a list of all objects included in the job, select the All Objects tab.
- If a job completed with errors, select the Objects with Errors tab. Use the Object Status column to identify the cause of the error.
Information in Salesforce Backup Logs
Salesforce Backup Logs display the status of the backup for each object. If a backup is incomplete, you can review the logs to see errors on specific objects.
The NOT_VISIBLE status in the backup log indicates that an object isn’t visible to the service at the time that the backup process ran and it hasn’t been backed up. When the service can’t back up an object, the most common issue is that the user running the backup doesn’t meet one or more of the required access conditions. Review all access settings for objects that show the NOT_VISIBLE status in logs. Correct any access gaps, then run the backup again.
- The user doesn’t have the required object-level permissions, such as read permission.
- The user initiating the backup, including automated users like Integration User, didn’t have the required licenses and permission sets.
- Not all special access rules for the object are met.
- The user has access to a custom object, but it’s in a managed package that isn’t site-wide.
Salesforce Backup logs shows status codes for specific errors that can happen during backup and restore processes. Use this guide to determine what an error code indicates and how to fix the problem.
If a backup or restore process ends with an error, status codes on the Log Detail page indicate the cause of the error. Use this table to identify causes and solutions to the most likely issues. If your process ends in an error that’s not listed here, contact Salesforce Customer Support for help.
STATUS CODE | ERROR CAUSE | TIPS FOR FIXING THE PROBLEM |
---|---|---|
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 been 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 the parent and 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 temporarily disable the approval process. When the restoration job is done, they 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 to allow the value to 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 to allow the value to 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. |
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. |
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. |
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 before trigger, or when an object is deleted from within an after trigger. This error occurs with both direct and indirect operations.For example, a request is submitted to update Object A. A before update trigger on object A creates a second object, object B. Object A is updated. An after insert trigger on object B then queries object A and updates it. This update is an indirect update on object A because of the before trigger . An error is generated. | 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. |
UNABLE_TO_LOCK_ROW | A deadlock or timeout condition has been 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 couldn’t be locked. Temporarily disable 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 couldn’t be 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. |