Published on November 10th, 2015 | by Mike Gill0
Admin Commandment #3 – An Awesome Admin should always… backup their org’s data. Because Salesforce is (in some ways) no different to any other system you own!
It’s time for Admin Commandment #3 and this time we move towards perhaps the most overlooked subject in the entire salesforce universe: backups. Or, more importantly, the lack of backups. If we asked a room of admins who backs up their org’s data regularly, we can bet not all admins would raise their hand and some of those who did would be lying.
One of the reasons that not everyone backs up their data (or doesn’t always remember to, even if they have a backup procedure in place) is that we take it for granted that Salesforce will do an amazingly brilliant job of protecting ours and everyone’s data, and they do – no questions asked there. In most cases, they do the job a million times better than any of our own organisations could. So much so, in fact, that we tend not to think about Salesforce data backups at all because we think we won’t need them; but we should.
It’s great that we all have complete faith that Salesforce will not lose or corrupt any data in your org, but our question is whether this same faith should be extended to your own users and your own systems?
We are going to share with you some scenarios that perhaps you have not thought about; scenarios which are much more likely to happen than Salesforce losing our data. These scenarios are real possibilities that could cause potentially harmful damage; but damage which could be greatly reduced with some kind of backup strategy in place from the get-go.
Here are some potentially harmful scenarios you want to avoid:
- Users with delete permissions accidentally and unknowingly deleting records. Don’t give deletion rights to standard users, no no no!
- Even worse, a disgruntled employee with delete permissions who sets about maliciously deleting records.
- Poorly designed business process which involve deleting records. I know, I know, but they do exist. Of course there maybe the odd rare process where deletion makes sense, but very few that we know of or recommend.
- Rogue apps installed within your orgs performing all kinds of crazy DML behind the scenes… scary but true, just wait til you experience it!
- External systems integrated with your org. The more systems you integrate with, the more chance you are exposed to data corruption at some level. An external systems upgrade which hasn’t been regression tested fully can hurt you.
- Apex running as system user – in a nutshell, this could mean that any user triggering the Apex will then have admin rights by proxy. So even if your user can’t delete data, they can perform other actions that fire off delete-happy Apex.
And if records being deleted or runaway background processes making a mess of your data isn’t scary enough, how about these further scenarios where a decent backup strategy may help?
- Compliance and Audit – traceable records on who created or modified or deleted a record.
- Disaster recovery – clearly we hope you never need this, and outlined above the chances are that you won’t… but you can never say never.
All of these scenarios could potentially leave you high and dry if the worst comes to the worst. You’ll be scratching your head, knowing something happened but not sure what, when or why. The quest to figure out what went wrong and why will end up consuming enough of you and your organisation’s time, let alone if you can’t then get that data back to how it should be. If only you had a time machine to go back and see how things looked before – and that’s exactly what a data backup is!
So if you’re one of those admins in the room that didn’t raise their hand earlier, do you now feel you have a compelling reason to get something in place? If so, let’s look at the options are available:
- Weekly data export – it’s free and native, you just have to remember to download the zip file each week (or month if you’re on Professional Edition)
- Command-line Dataloader – it’s free and native too, and with some command line knowledge it can easily be scheduled to run nightly
- Use one of the many ETL tools out there, like Talend, Informatica etc
- Work with your developer to build your own solution using one of the Salesforce APIs e.g. Soap / REST
- Purchase an app like Backupify, Spanning, Odaseva or something else from the AppExchange: https://appexchange.salesforce.com/results?keywords=Backup
OK, now that we’re at the end of the article, we can admit it. This is not a sexy topic. We know that. But it is an enormously important one, and we believe that all good admins should ensure they have a data recovery solution – and enforce it! You may never need it, but if you ever do, well guess what: that disaster just got a lot more recoverable.