I have a few ETL scripts I built using Talend Open Studio to move data over.
Using a tool like Talend (which is Free and has SFDC Connectors) or Informatica Cloud or Boomi, you can create scripts to pull data from your Production Org and populate in your Sandbox Org. Of course depending on your sandbox you'll hit size limits so you need to filter your data pulls. Not a big deal.
This approach also requires Enterprise Edition as you will need API access.
You can build your scripts to properly create the relationships.
For Example:
Step 1 - Upsert Accounts (Store SFDC Production ID in an External Field, say "PROD_ID__c".
Step 2 - Upsert Contacts (Store SFDC Production ID in an Exteral Field, say "PROD_ID__C". Use ACCOUNTID on the Contact as the External ID in the script to automatically relate the Parent / Child Objects.
Step 3 - Continue Pattern.
Pros of ETL Approach:
Repeatable & Saves you TONS of time on Sandbox Refreshes.
Less error prone as your not manually running Data Loader / Reports.
Low Cost if you use Open Source or Jitterbit, etc.
You can automate this to keep data in sync as necessary via schedulable services (Apple Automater, Windwos Schedule Services, etc)
Cons:
Requires some up front time & effort to build out the ETL scripts.
IF you modify the Fields in Production you need to update in Sandbox.
You need to know your Data Model. May sound stupid but if you have dependencies on multiple objects you need to build your script so that it loads the Object Records in an order that makes sense.
Most records take up 2KB, there are some exceptions (KB: 000193871):
- Person Accounts - 4KB
- Campaigns - 8KB
- Campaign Members – 1KB
- Articles - 4KB
- Email Message - This is dependent upon the content of the messages, a 100kb email message takes 100kb of data storage space. Text only emails will take less than HTML due to only being the body text and not the html code and text version as well.
Your full sandbox will be able to store the same amount of records as your production one.
Best Answer
Sandboxes take their source metadata from the production org only therefore making a new sandbox cannot derive metadata from another sandbox.
You have a few options to move your objects and fields, which include change sets (assuming the sandboxes are from the same production org), creating an unmanaged package from your full sandbox, or deploying objects using the Force.com IDE or similar metadata deployment tool (Force.com Migration Tool, MavensMate, BrainEngine, etc.)