6

Scenario: All data, code, configs, etc is lost and backups must be used to recover the account from scratch without aid of Salesforce aside from possibly recovering access to the sys-admin account.

Assumptions: None currently.

Research: First, let me say that based on another question, it is my understanding that full backups & recoveries not possible - and I am attempting in a single question to understand what is possible (and what is not) and be in the position of not having to pay Salesforce $10k to recover anything.

I keep attempting to understand the scope of the topic of doing backups that would enable 100% recovery of a Salesforce account, but have yet to reach the point where I feel that my understanding is complete. For example, exporting the data is possible via the weekly data export or Data Loader and grab the metadata on Salesforce using the Force.com IDE. So, on the topic of the sources for doing a full recovery, it's not 100% clear that all that is required is the "data" and "meta-data" exports.

Also, it appears that there are gotchas when doing recoveries, such as:

  • To preserve old/original audit fields (CreatedBy, CreatedDate, LastModifiedDate) that will no longer be valid, you must request that salesforce.com enable "Create Audit Fields" for you before restoring.
  • All record relationships (IDs) will change on the reload so you need to load each set of records in a very exact sequence, update the CSV files for the next set of records, and then load again. If third party systems require IDs, a custom field would be required to keep the IDs in sync.
  • Salesforce "Coverage Testing Rules" apply when pushing Apex Classes & Triggers; Salesforce requires you to have a certain code coverage % in order to push backups successfully.

Questions:

  • What are "all the buckets of stuff" that maybe backed-up (data, code, configs, etc.) and where is this backed up?
  • Besides the components mentioned here, is there any other "stuff" that is not possible to backup, and if so, what exactly is it?
  • Without making the question overly broad, is there any aspect of the question is missing based on your understanding of its intent?
  • If backups are done, is necessary to do a full recovery to confirm the backups work?
  • Are there any gotchas that are missing, and how are those planned for?

Exclusions: Please note that the intent and scope of this question is unrelated to the use of the Saleforce "Sandbox" feature in anyway; meaning as a way to manage change, deploy, etc.

closed as too broad by Samuel De Rycke Nov 14 '14 at 16:16

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • Do you think you can do all this for less than $10K? – bigassforce Apr 26 '14 at 20:42
  • 1
    @user320: Maybe, though hard to say given the person asking is "using salesforce to fly helicopters into walls"... :-) ...that said, yes, I do believe it's possible to do for less than $10k; though also as you might guess, currently do not know how to do this. – blunders Apr 26 '14 at 20:47
  • 3
    @user320 10K is the price of getting a CSV dump of your data. Restoring it, and rebuilding any metadata are a whole different matter. – ca_peterson Apr 26 '14 at 21:32
  • You may have to change your thinking before you can make progress on this. Assume that users of SF will not honour your backup regime. They will probably quickly get into making updates at all times as an example, so how do you know when your backups should take place and how will you make them consistent? Although all is possible (given enough money) it might be an interesting exercise to understand why you are making backups and restores, do some risk analysis and find out what the business (rather than IT) requires. We have our decisions on these matters but what are yours. – Ant Smith Apr 27 '14 at 16:58
  • @AntSmith: It's unclear what the intended outcome of your comment is. I do backups for two main reasons: disaster recovery and development operations (DevOps). Appears Salesforce has other means of dealing with DevOps within the platform, so that's not part of this question. As for disaster recovery, it's a common sense practice, because sh*t happens; if you don't buy that, I wouldn't want to be you when a fire breaks out, an employee goes rogue, etc. As for the users causing backup consistency issues, I don't care if the backup is 5% off, I care if it is recoverable. – blunders Apr 27 '14 at 20:07
2

Are there any gotchas that are missing, and how are those planned for?

At least one more gotcha is that it is not allowed to insert a record with an Owner set to inactive SF User. I was receiving an exception: INACTIVE_OWNER_OR_USER, operation performed with inactive user.

I have got an official confirmation from the salesforce support:

Is it a hard-coded restriction of the Salesforce platform that an Opportunity can be created only when Owner is Active?

Yes, that is correct for all the objects ( opportunities , contacts , accounts ).

These can only be created when the owner is Active.

I have few thousand Opportunities stored in an external system that were made by the sales team during the last three years. As you can imagine a lot of them are associated with people that no longer work with the company. I was trying to insert this historical data into salesforce. Insert fails for records that have Owner, which currently is not active.

Support has offered me a "solution": make a user temporarily active, insert his records, make him inactive. Repeat for each inactive user.

You can imagine how difficult it would be to restore historical data for a real life database where you have dozens and hundreds of tables/objects.

Not the answer you're looking for? Browse other questions tagged or ask your own question.