<aside> 🧭

Navigation:


</aside>

Summary

This white paper provides an overview and a detailed view of pitfalls making painful a data migration related to Dynamics 365 or Dynamics CRM.

Regardless the type of data migration (migration to Dynamics online or migration to Dynamics On-Premises), native and custom items could delay the data migration process.

Those items should be categorized into 5 groups: data context, platform context, functional context, code context, architecture context.

Keywords

Data Migration, D365, Dynamics 365 On-Premise, Dynamics CRM On-Premise, Pitfalls, Data Context, Platform, Code, Customizations, CRM services, Data security Model, CRM Functionalities, CRM Database.

Confidentiality

The white paper does not provide any confidential client data related to data migration. All the code in this white paper is only related to the CRM SDK365 code.

Introduction: What are the main pitfalls during migration?

A data migration focuses on the movement of data between source (legacy data system and business) and destination (target system). Β Hence, in our white paper, a data migration will focus on the movement of data between Dynamics CRM / 365 on-premises (source) and Dynamics CRM / 365 on-premise or online (destination) [1].

However, pitfalls are real and can delay the data migration. Even with the most thoroughly tested tools and procedures, we need to identify those pitfalls and find a way to overcome the latter.

Data migration options

Without emphasizing the technical aspect of an option, in this case, whether it is a "Cloud" technology (cloud technology) or an "on Premise" technology, there are two execution contexts [2]:

OPTION DATA SOURCE DATA DESTINATION DESIGN OF SCENARIO
TYPE A DATABASE (DB) DATABASE (DB) DB/DB
TYPE B DATABASE (DB) SERVICE DB/SERVICE

Data migration options applied to Dynamics CRM

Emphasizing the technical aspect of an option, what does it mean regarding the platform Dynamics CRM or Dynamics 365?

OPTION DATA SOURCE DATA DESTINATION DESIGN SCENARIO DYNAMICS 365
TYPE A DATABASE DATABASE DB/DB FROM DYNAMICS ON-PREM TO DYNAMICS ON-PREM
TYPE B DATABASE SERVICE

From these options, could be extracted the cases of so-called figures specific to each execution context mentioned in the table above (types a, b, c, d, and e). So, what is a specific option?

Data migration options in details

A specific scenario is characterized by the following three elements: the data and metadata structure, the technology or platform in which the transfer is constrained and the technological context, and finally, our last element, which is the version and build number of the platform.

Description of option β€œtype A”: from database to database, from Dynamics on-prem to Dynamics on-prem

OPTION - TYPE A (DB/DB) DATA AND METADATA STRUCTURE TECHNOLOGY/PLATEFORM VERSION/PLATFORM BUILD NUMBER
TYPE A – 1 SIMILAR STRUCTURE SIMILAR PLATEFORM SIMILAR VERSION
TYPE A – 2 DIFFERENT STRUCTURE SIMILAR PLATEFORM DIFFERENT VERSION
TYPE A – 3 DIFFERENT STRUCTURE DIFFERENT PLATEFORM DIFFERENT VERSION

Description of option β€œtype B”: from database to service, from Dynamics on-prem to Dynamics online

OPTION - TYPE B (DB/SERVICE) DATA AND METADATA STRUCTURE TECHNOLOGY/PLATEFORM VERSION/PLATFORM BUILD NUMBER
TYPE B – 1 SIMILAR STRUCTURE SIMILAR PLATEFORM SIMILAR VERSION
TYPE B – 2 DIFFERENT STRUCTURE SIMILAR PLATEFORM DIFFERENT VERSION
TYPE B – 3 DIFFERENT STRUCTURE DIFFERENT PLATEFORM DIFFERENT VERSION

Selected option

Before the list of types mentioned above, it should be noted that our data migration takes place in TYPE A and more precisely in TYPE a-3.

Migration is the migration of data considering the three elements of our definition regarding our option:

β†’ CRM data and metadata structure differs from the D365 data and metadata structure.

β†’ The technology and the platform are different. From a .NET point of view, even if the platforms are based on the .NET Framework, their physical and application architectures differ from each other.

β†’ Hence, their versions and build numbers differ from each other.

OPTION - TYPE A (DB/DB) DATA AND METADATA STRUCTURE TECHNOLOGY/PLATEFORM VERSION/PLATFORM BUILD NUMBER
TYPE A – 1 SIMILAR STRUCTURE SIMILAR PLATEFORM SIMILAR VERSION
TYPE A – 2 DIFFERENT STRUCTURE SIMILAR PLATEFORM DIFFERENT VERSION
TYPE A – 3 DIFFERENT STRUCTURE DIFFERENT PLATEFORM DIFFERENT VERSION