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.
- 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.