Before reading this post, it is recommended to go through the brief introduction and demo of Data Migration Manager (DMM) available at: http://blogs.msdn.com/crm/archive/2008/01/04/microsoft-dynamics-crm-4-0-data-migration-manager-with-john-o-donnell.aspx.
After going through the link mentioned above, you would have got an overview of how to make use of Data Migration Manager to migrate huge sets of data. Let us say, you have migrated a lot of data using the Data Migration Manager and then suddenly realized that wrong sets of files are selected for migration. In the normal scenario, you have to go to Microsoft Dynamics CRM server and manually delete all the records that are created using DMM (Data Migration Manager). Separation of the newly migrated data from the pre-existing data is a difficult and tedious task. The “Migration Deletion” feature in DMM comes handy in situations like this.
If there is some problem with any migration that is done using DMM, you can go to the “Deleted Migrated Data” screen and delete all the record that are created as part of a selected migration. Another use of “Migration Deletion” feature is to delete the temporary data on the local machine. DMM stores some temporary data on the local machine during the migration of data into the Microsoft Dynamics CRM server. Once the migration is done successfully, the temporary data is no longer needed.
In the remaining discussion, I will walk you through the usage of this feature. To access this feature, click on the “Delete Data” link on the main DMM screen as shown in the following screen shot (Screen 1).
Once you click on this link, the “Delete Migrated Data” screen will be shown with all the migrations done using DMM till now, their status and the last time when the status is changed. The status “Canceled” indicates that the migration is aborted in the middle. This can be either due to failure in migrating data because of some problem or due to the cancellation of the migration by the user. “Completed” status indicates that the migration is completed successfully. In the screen given below, the migration “Migration 1” is aborted in the middle and the remaining two migrations are completed successfully. Let us see how to delete the local temporary data stored while doing the migration “Migration 2”. To do this, select the migration and click on the “Delete” button as shown in the Screen 2.
After clicking on the delete for the “Migration 2”, you will get the following popup asking you whether to delete only the temporary data or the data from both CRM and local machine. Select the option to delete only the temporary data as shown in the Screen 3. This will delete the data on the local computer, and the status of the “Migration 2” will still remain as “Completed” as shown in the Screen 2.
As we have deleted the temporary data on the local machine for “Migration 2”, if we click on the delete for “Migration 2” again, the following popup (Screen 4) is displayed with “Only the temporary data on this computer” option disabled.
If we proceed by selecting the second option, the DMM starts a bulk delete job on the server and the migration status is set to “Bulk Deletion In-Progress” as shown in the Screen 5.
Once the job on the server is completed, the migration status for “Migration 2” will be changed to “Bulk Deletion Completed” as shown in the Screen 6.
If the deletion of the migrated data is not started immediately after the data migration, there might be dependencies developed on some of the migrated entities. In such cases, the bulk deletion job on the server will not delete those records. One should check the corresponding bulk deletion job on the server and clean the left over records manually.
While deleting the migration, the bulk delete job proceeds by deleting the data record-by-record. When there is huge amount of data, the deletion process will not only take a lot of time, but also hogs the server for that time. Keeping this in mind, it is advisable to try migration with a small sample set of data to check if everything goes fine and then to migrate the actual data. In addition to this, it is advisable to take a snapshot of the database before migrating huge sets of data. The database can be restored immediately if some problem is detected with the migrated data. This way, the load on the server and the time taken to undo the migration can be reduced dramatically.
Related blogs on DMM: