Stop Wrestling with the Salesforce Export
Save Hours Each Week While Protecting Salesforce Data
Experienced Salesforce admins and developers know the value of their Salesforce data and metadata for managing and meeting organizational goals. But even experienced Salesforce professionals can be unaware of the causes, and real risks, of data loss—much less how to recover quickly. This knowledge gap points to serious risks for business continuity.
In this blog post, you’ll learn:
- What Salesforce says about best practices for data protection and the limitations of the Export service
- What time and resources are needed to use Salesforce native tools—specifically the Export service—for data protection
- The steps you’d need to follow to recover lost data using the Export
- How to protect and recover your Salesforce data and metadata in less than 5% of the time it would take to do typical Export manual recoveries
What does Salesforce say about best practices for protecting your Salesforce data?
Salesforce is secure, and protects your data from issues on their end – but they cannot protect you from you. Salesforce provides a number of Knowledge Articles on this topic.
“Even with the best of intentions, users and administrators have been in situations where they have either deleted large amounts of data or have modified records, only to later realize that a mistake was made. With tools like the data loader, it is very easy to mass delete or update records and a simple mistake in your source file or field mapping could spell disaster for your data. It is recommended that you keep a regular backup of your data and to do a manual point-in-time backup before you proceed with any major data project within your org.”
“Is it [data loss] preventable? Yes, we recommend that you use a partner backup solution that can be found on the Appexchange, run full reports and export them to your desktop or use the Data Export feature that is included in all editions of Salesforce.”
“How far back can the data be recovered? Data can be recovered up to 3 months back from the current date.”
“Salesforce Support doesn’t offer a comprehensive data restoration service. The backup and recovery process is intended to provide CSV files which administrators will need to use with available import tools.”
“Keep in mind – Overall planning, development and implementation of a strategy to manage record restoration falls outside the scope of Support’s offerings.”
In short, since losing Salesforce data is not a matter of “if,” but “when,” it’s a best practice to have a backup and restore strategy.
What is the Salesforce Export Service?
Salesforce does offer a native backup service. If you have Salesforce Enterprise, Performance, or Unlimited Editions, you have the option to request a weekly export of your Salesforce data (not including metadata) to a zipped CSV file. (All other editions have an optional monthly export available.) However, the service has some limitations that may make it less than useful for business continuity planning.
What resources do you need to use the Salesforce Export Service?
Even though Salesforce does not charge for the Export Service, there are still costs – and significant time – associated with its use. You need admin time, a flexible schedule, and secure storage.
Once you’ve subscribed to the service, Salesforce emails a link to download your zipped CSV Export files. The link expires within 48 hours of sending. Some admins have reported that the week’s worth of data, even zipped, is such a large volume of data that it doesn’t always complete downloading before the next Export runs. A number of admins have mentioned that the time and day of send has been known to vary – so if you’re a solo admin, you’ll need to ensure you can receive the link, then download your Export, even when you’re on vacation or out sick.
You’ll need secure storage, with enough room to store Salesforce data far back enough to cover any future legal discovery needs – which could mean many years of data.
Note that, if your data changes frequently—for example, new Leads created daily, or Opportunity records updated daily—a Weekly Export Service will not capture the changes you need for business continuity. Further, the Export Service does not include metadata.
What steps are involved in restoring lost data from an Export?
To recover data using your Export, you need to:
- Scope the impact of the data loss. This is not always easy, since cascade deletions can lead to child records being deleted without any clear way to identify all those deletions. You’ll need a good understanding of your schema via SOQLXplorer or Workbench, including triggers and workflow; a set of recent “before” data as well as the “after loss” data set; and an extract of relevant parent, child, and lookup tables.
- Identify the specific records that were lost. You can either compare two Exports – one after the loss incident and one from the last known good state – or you can pull down data from your Production org to compare with an Export, to pinpoint what data was lost.
- Create your “restore” files. Once you’ve pinpointed the specific data that was lost, you can use your Export Files to create a separate restore file for each Object Type with the records that need to be restored. You need these to be separate, in order to preserve master-detail (parent-child) relationships during restore.
- Create a new ID field for the parent record types to remap the records. This new field will save you some time when you are trying to restore deleted records, since the child records can refer to this new ID field that contains the SFDC ID of the record at the time of deletion. You will need to do this to ensure relationships are correctly preserved as you prepare to restore.
- Make, then execute, your restore plan. In your Restore files, rename the ID field to the new name as created in step 4. Temporarily disable triggers and workflows. Using Data Loader, insert parents first; child and orphan data should then follow in the correct order per your schema, as upserts. Test and confirm that restores are being applied correctly, to ensure that there will be no further data loss.
The above processes – running backups using the Export Service, then restoring lost data from those backups – can take hours, days, or weeks, depending on the amount of data in your org and the complexity of your schema. And (since the Export will be up to seven days old, or older for Monthly Exports) you STILL may be unable to restore data that had been lost.
What impact would using Spanning Backup for Salesforce have on the time you spend protecting your Salesforce data?
Our customers tell us that they save hours every week performing routine backups, and days or weeks when needing to restore lost data. Over a 12 month period, the time and cost savings could easily look like this (data based on Spanning customer averages).
Perhaps it’s clearer, now, why Salesforce encourages their customers to adopt backup solutions like Spanning Backup for Salesforce from the AppExchange.
Start Your 14-Day Free Trial
“Once I learned what it would take to restore using the Salesforce weekly export, I realized that we were performing a dangerous circus act without a safety net. Plus the manual labor of downloading and organizing the weekly export is not insignificant. Spanning is easy to install, keeps backups organized, and makes restoring convenient.”
“Spanning’s price structure is reasonable and a better value than competitors. As a medium-sized nonprofit, cost is always an important factor in our technology budget.”
“Now that I’ve had it for several weeks, Spanning’s already helped me more than a few times. So far nothing major that I couldn’t have fixed in other ways, but the existence of my Spanning backups saved me quite a lot of time and effort.”
– Michael Kolodner, Systems Administrator, Spark, Reviewed January 2017