Quickly Recreating Entities in Microsoft Dynamics CRM
So you configure your Microsoft Dynamics CRM environment and create many custom entities, only to realize that you made some configuration choices that cannot be changed. Maybe you created entities as organization owned, and you realize that you need them to be user owned so you can assign user or business unit security to them. Maybe you created entities without including notes or activities. These decisions are made when the entity is created, and there is no supported way to add these items after the entity is created (short of unsupported database surgery).
The only way to fix these types of issues in a supported was is to recreate the entity. This can seem like a scary proposition; however, it can be done fairly quickly and painlessly if you follow this strategy:
1. Back up your environment's MSCRM database
2. Export the CRM entity customization from the entities that you want to recreate.
3. Delete the entity
4. Update the customization file—see MVP Mitch Milam's post regarding editing the entity customization xml to change from organization owned to user owned. Note that you have to delete the entity, but you can edit the xml and reimport to quickly recreate the entity as a user owned entity. The linked post was written for crm 3, but it works for CRM 4 as well. It should also work for 2011, but you will want to compare a user owned and organization owned entity xml files and verify all of the differences between user vs organization owned entities.
5. Import the revised customization file
6. Import data back in to the environment
When you import the data back into the recreated entity using a tool such as Scribe Insight, you can simplify the process by mapping the ID (GUID) of the record from your backup database to the ID field of the new entity. This way if you have any lookups that refer to this entity, you won't need to do any lookups or transformation of the data to populate the lookups–you can just map the ID in the field from the source database to the new environment's lookup field.
If you use Scribe Insight, you can use the auto map feature to quickly map the fields from the backup database to the recreated entity. Right click on the target fields, and select “auto map.” This will automatically create links between the source and the target based on the attribute names.
Using this approach, I have recreated an entity and repopulated the data in 20 minutes.