At some point, most organizations have a requirement for backing up data. This can be either because it needs to be restored, moved between environments, or backed up before an upgrade/update occurs. The most common reason for needing the data back is to restore after corruption has occurred.
Data corruption in Salesforce can occur in all types of environments, from small business on-premise installations to large enterprise multi-instance setups with fault-tolerant hardware designs. Although rare overall, many factors can contribute towards corruption occurring. This article aims to provide some peace of mind during these potentially stressful times by explaining what causes corruption and how one might minimize the chance of it occurring.
However, it must be stressed that there are no known means of guaranteeing data integrity or 100% prevention against corruption, even with services such as Snapshots, so please do not allow this article to provide false confidence.
The structure of Salesforce data backup and restore is relatively simple but has evolved and has spawned some complex workarounds to support features like multi-currency, which are now considered standard practice; these new features bring with them their own set of risks that can contribute towards small corruptions that merge into bigger ones over time until your data becomes unusable. There are many opportunities for single records to become corrupted during normal operations, let alone when performing administration tasks. If either the DML (Data Manipulation Language) or DQL (Data Query Language) statements are not coded correctly, there is a chance the data being changed will become corrupted. Here is an example of such a statement:
DELETE Account WHERE Name like ‘%’ + DeleteMe;
This simple delete statement doesn’t take much to go wrong, mainly if the account name in question contains spaces and multiple letters, which have been known to cause problems in some circumstances. Even though it may seem obvious that this statement should never be used when updating/deleting records, there are still several instances where this can occur and should be guarded against. The fact is that many standard Salesforce components such as the data import wizards, user interface forms, and other administrative tools all make use of these DML and DQL statements. Although they appear to function correctly, there is no guarantee that Salesforce has adequate safeguards to catch incorrect usage.
The answer then is simple Always test your data updates/deletes before applying. If you do not feel confident enough to test any data updates or deletes beforehand, it may be worth considering bringing in an expert who does. There are many instances where this can be found in production code, and it always surprises me just how few testing/validation steps are performed before these changes go live! The chances
One good reason for ensuring your data backups are valid before attempting any complex changes or upgrades is that if anything goes wrong, you can be confident that you will at least have a valid backup to work from!
If the data is deleted and not restored correctly, it is possible to recover it using Data Recovery. The process of recovering data involves restoring metadata objects such as Accounts, Contacts, etc., which can then be used to rebuild your lost Salesforce data records.
The Restoration Process
Restoration of Salesforce metadata objects such as Accounts or Contacts can occur in two ways: From the Company Home page > Setup > Data Management,> Restore from the Data Export tool > Company Restores section.
1) The Company Home restore option allows you to convert all types of metadata objects across an entire company database. Selecting this option opens up a multi-step wizard for performing the restore. The multi-step wizard allows you to choose which objects to restore and then provides detailed steps for restoring those objects, one at a time.
2) The Data Export tool (available in the Data Management section of Setup) allows you to select an individual object type such as Account or Contact and perform a mass restore of your Salesforce metadata records. This saves having to use the multi-step wizard and jump from screen to screen; however, it is only available for certain object types and does not allow you to specify custom filters like the Company Home page data restore option.
3) Both methods can be used on sandbox and production databases allowing developers to test their data updates/deletes before implementing them into production.
The company home page and the data export tool. These functions can be used to restore your lost salesforce metadata objects such as accounts or contacts. This will allow you to rebuild your lost Salesforce data records. Test your data updates before implementing them in production! Both methods can be used on sandbox databases as well as production databases.
A critical note is that backups are not valid if you incorrectly set up metadata filter(s) or parent-child relationship(s). A backup may also not be valid if you have custom objects that do not exist in the backup and vice versa. This is because Salesforce only makes use of the standard objects when restoring a backup. If you delete all custom objects through deletion/disablement of a custom object, this will not be restored.
In some cases, it can take salesforce more than 24 hours to recreate your lost data records! This is because it has an extensive checklist for validating the metadata integrity before finally playing your lost records.
Restoring data from company backup
When restoring data from a company backup, you are required to select which database(s) to restore this information into. If your Salesforce production database is part of a multi-database installation, then ensure that you only restore the necessary objects into their relevant databases, i.e., if you have multiple Sandbox databases, then do not restore Production objects into them and vice versa.
Please note: If you decide on using the Data Export tool for mass restores of object types such as accounts or contacts, be aware that all new customer master data will be created with default values and if your data contains special characters, be aware that these will be lost during the mass restore. In this case, it is always best to use the Company Home Restore option and ensure your data is correct before placing it into Production.
The Data Export tool also provides a new feature. You can selectively choose which object types to perform a mass restore of while still keeping all other objects intact for any selected databases. This saves going through the multi-step wizard and jumping from screen to screen for each selected database.
Unlimited Access to Data
A web-based reinforcement administration is useful for organizations since it empowers you to get to your information without limitations on schedule or area. These adaptable reinforcement arrangements likewise offer expense viability since they spare you from the significant expenses of IT assets, for example, tapes utilized for information stockpiling and assurance.
Opportune and Effective
Without opportune and successful reinforcement arrangements, organizations hazard losing their validity and in any event, confronting lawful activity assuming that they lose important shopper or staff information. In case you are liable for putting away data in regards to your clients and staff individuals, your security framework needs improvement to guarantee that significant information has the best insurance.