When you are migrating data between two CRM environments, such as going from CRM On Premises to CRM Online, one of the best things you can do is move the record ID (GUID) of the records. This way, if you have a relationship or a lookup field that references another record, you will not have to do any transformation or lookups to resolve the record ID–you can just move it via straight insert.
The same applies to user ID’s. If you use CRM On Premises, you can create user records using data migration/integration tools like Scribe Insight or SSIS + Kingswaysoft. Since every record has user relationships, like ownerid, preserving the unique identifier of user records will dramatically simplify your migration.
However, be aware when you do this that there are some fields that are only populated on user records for CRM Online deployments. In a recent migration moving data between two CRM On Premises environments, when moving the user records was attempted, the migration DTS returned the following error:
“This is not a valid Microsoft Online Services ID for this organization.”
Turns out that one of the organizations was originally a CRM Online environment that was moved On Premises. Removing the following fields from the DTS mapping made the user record migration work successfully.
- islicensed boolean(1)
- issyncwithdirectory boolean(1)
- invitestatuscode integer(4)
- windowsliveid nchar(1024)
Thanks to Evan Watson for input on this tip.
Great tip! It’s also important to migrate record ids if you have custom views that categorize data based on lookup fields. If you don’t migrate the record ids, the views will break and will need to be fixed manually.