For all the benefits that digital data brings, it remains unpredictable at best and hundreds of things can go wrong with it. Ensuring timely backups, however, make an effective solution against such contingencies.
Salesforce has an advanced disaster-recovery system in place, catering to just about every disaster scenario. The chance of data loss owing to mistakes at the Salesforce end of the ecosystem, or due to natural calamities, is almost zero. In fact, nothing short of a global apocalypse, in which eventuality the data would be meaningless anyway, would result in Salesforce clients losing their data. Irrespective, it still makes sense for Salesforce users to back-up data on local hard drives.
The disaster contingencies in place at Salesforce protect only the back-end. This does not make Salesforce clients immune to issues such as power outages, hardware failure, accidental deletion, careless employees, deliberate sabotage by disgruntled employees, and more at their own end. Such issues can result in lost data.
Salesforce does offer a recovery service to retrieve data lost or accidentally deleted at the client end, but subscribing to the same is never a good idea owing to cost and time considerations. Salesforce has to do the recovery service manually and charges a recovery fee – a whopping USD 10,000 per organization. The data can be recovered only for the previous 90 days, and worse, the process takes a minimum of 20 days. According to Salesforce, it takes about ten days to conduct an “end-to-end” rewind of the server and retrieve required records, and then exporting this data takes more time. By this time, retrieved data may be obsolete anyway. For most enterprises, time is money and even a few hours without access to critical data can cause disruptions in their business process or result in significant loss of business opportunities. Thus, it makes more sense to have a local backup that the enterprise can retrieve instantly and doesn’t require a ransom.
There is an added reason why it may be worthwhile to have regular local backups. Even if nothing untoward happens to Salesforce data per se, accessing Salesforce requires an Internet connection, and this can get disrupted for any number of reasons. All enterprises have suffered from Internet outage from time to time, owing to a multitude of factors ranging from disruption at service providers end to modem issues and cables getting cut to a DDoS attack, and more. In such eventualities, enterprises depend heavily on locally backed up data on hard drives, CDs or USB drives.
Having understood the importance of making local backup copies of Salesforce data, the next question is how to go about doing it. Salesforce itself recommends multiple ways for users to save and backup their Salesforce data locally:
1 Use the Salesforce Data Export Service: Trace the following path: Setup>Administration>Setup>Data Management>Data Export, to export required data to the destination of choice. This option is, however, available only to users who have “Data Export” profile permission, and in any case it comes with several restrictions. For instance, it is possible to create backup files only once every six days manually or schedule automatic generation of backup files once a week. Salesforce exports data to the desired destination as a zip-archived comma delimited (.csv) file. Each object is exported as a separate file.
2 Use Data Loader: Use the Data Loader to export data to the desired location. Data Loader is available for all API enabled organizations, and by default to all Enterprise Edition users and above. It facilitates the bulk import and export of data. Simply open the DataLoader, click on “Export,” chose the required objects to be exported, and specify the name of the .csv file to which the data is to be exported. Finally, create an SQL query for the data export.
3 Use Reports: Export required data as a report. Create a new report containing data selected for backup, and export the report to the desktop or any other desired destination. Select.csv format for the exported file.
4 Use a Partner Solution: The AppExchange features many partner backup solutions that aid the backup process by automating the processes or making the processes easy. Such apps also offer a good workaround to the once-every-six-days manually or weekly automatic backup restrictions that the Salesforce export service imposes.
Salesforce recommends using any of these methods for local backup any time changes are made within the organization, such as changing field data type or updating data with the data loader/import wizard.
Reinserting backed up-data into Salesforce is relatively tougher, more so considering that Salesforce Support does not offer a comprehensive data restoration service.
Administrators need to use available import tools to re-insert records at appropriate places. If data was deleted accidentally, it may be worthwhile to check whether it is still available in the Salesforce recycle bin, and if so, restore it from there. This option restores record relationships, such as activities and attachments automatically, whereas they might have to be recreated when using import tools. The import tool assigns a new unique record ID to all newly “inserted” records and administrators will have to sort this out manually and re-establish relationships that existed before. The options are to retain old record IDs either by using external resources like MS-Excel’s vlookup function on the backup database or by creating a custom external ID field that stores previous record IDs when creating backups in the first place.
If the data to be restored is complex or voluminous, it may be worthwhile to get in touch with a Salesforce account executive, who may offer Professional Services to reload data, at an additional fee of course.
Local backup of Salesforce data is relatively easy, but restoration of such data into Salesforce is not as simple as re-copying it. The entire task of creating local backups for Salesforce data requires some amount of planning and implementing a strategy.