Hi, everybody. Recently, my project has been very busy and I have been thinking about career development issues. So I haven't been down to writing a few blogs for a long time. Recently, I participated in the data migration from dynamics CRM 2011 to dynamics CRM 2013 online. Now, I will take this opportunity to analyze my experiences in data migration.
My friends who have read my previous articles certainly remember that I divided dynamics CRM interfaces into two categories: 1) functional interfaces and 2) data interfaces. The data migration mentioned today can be understood as a data interface. There are many ways to implement the data interface, such as C # programs and SQL scripts at the database layer, and the main character of SQL Server integration service (SSIS) that I want to introduce to you today ).
Why is SSIS used? It must be simple. SSIS provides a variety of functions for us to use, such as FTP controls, Excel controls, a large number of controls, and a large number of third-party components. Back to today's topic, how can we use SSIS to migrate data before dynamics CRM 2011 and dynamics CRM 2013? We have two options: 1) Use script component to write a proxy to process the CRUD operation of dynamics CRM data; 2) use a third-party dynamics CRM component to implement the CRUD operation of dynamics CRM data.
Here, we need to take control of the project. If the data volume is not large and the data structure is simple, scriptcomponent is used, and vice versa, it is the third-party charging component, for example: cozyroc, SSIS integration toolkit for dynamics CRM. By the way, the second component was developed by our denical CAI.
During data migration, the most troublesome thing is to process entities with special structures, such as the active entity service appointment and the opportunity entity that contains the party list control. For these entities, we need to do additional data processing, of course, it can still be achieved. Next we will introduce several useful methods for making SSIS pacakge:
1. Set workoffline Of The SSIS project to false: SSIS menu --> Work Offline
2. Use the expressions of the data source to set the connection information of the late-bound data source.
3. You can use package level variable and project level variable to save important verification information.
4. If a package is often deadlocked, set transactionoption of the package to notsupported. And modify isolationlevel settings.
I hope to help you. If you have good suggestions, please contact me. :)