xDB Migration Tool Experience


xDB Data Migration tool is offered by Sitecore to Convert and migrate data from Sitecore Experience Database 8.x to Sitecore Experience Database 9.x. You can find different version of the tool here.

I have used xDB Migration tool 3 as part of Sitecore Upgrade twice for two different infrastructure setups, PaaS and IaaS, and here is what I learned.

  1. To install and configure the tool, use Sitecore manual.
  2. For production migration make sure you enable verification because the migration process is often stopped/interrupted, and you want to start it again in resume mode, so it does not iterate all data from beginning.
  3. Monitor the migrated data from migration tool, and if the migration stops and won’t start again when trying to resume, check the VerificationLog table from verification database and run the following update command:

  UPDATE  [xdb_Verification].[dbo].[VerificationLog]

  SET [Status] = ‘Succeeded’

  1. If your Sitecore 8 setup is PaaS with Sitecore Mongo as a Service the migration will be very slow. It took a couple of weeks to migrate around 500K records (migration tool on and off). To speed up the process:
  • increase the number of threads at the “Pipelines/MongoDB Contacts to xConnect Migration Pipelines/Read Contacts from MongoDB Pipeline/Iterate MongoDB Contacts and Run Pipelines” item
  • increase batch size at “Pipelines/MongoDB Contacts to xConnect Migration Pipelines/Read

Contacts from MongoDB Pipeline/Add xConnect Client to Context” item

  1. If you have Mongo installed on a VM the migration runs more smoothly and I was able to migrate around 2000K (2 million) records in a couple of weeks (migration tool on and off).
  2. Make sure you have all custom goals and campaigns items installed in the upgraded solution otherwise Analytics data reports will all reference [unknown] data.
  3. Because while migrating xDB data you need to increase maxRequestLength in web.config, editors will get the following error when uploading images in image fields:

The maximum amount of data that you can upload is NaN undefined’. So, editors must go the longer route: upload images under Media Library and refer them in image fields.