In this course, we will learn how to implement and use the Data Export Service in Dynamics CRM. Before we start, make sure to subscribe to CRM Crate in order to get all latest updates in field of Microsoft Dynamics 365 CRM.
What is Data Export Service in Dynamics 365 CRM?
The Data Export Service in Microsoft Dynamics 365 is a free add-on service made available on Microsoft AppSource (Microsoft Dynamics Store) that synchronizes Microsoft Dynamics 365 (online) data to a Microsoft Azure SQL Database store in a client-owned Microsoft Azure subscription.
The supported and authorized target storage designations are Microsoft Azure SQL Database and Microsoft SQL Server on Microsoft Azure virtual machines.
The DES or Data Export Service synchronizes the Dynamics 365 data initially and thereafter syncs the delta updates on a continuous & concurrent basis as they occur in the Microsoft Dynamics 365 (online) environments. This feature helps several analytics and reporting scenarios on top of Dynamics 365 data with Azure services, such as Machine Learning or Power BI and opens up new possibilities for clients and partners to build custom solutions as per their requirement.
Below is the pictorial representation of Data Export Service.
Lets start with build our own Data Export Service within the Dynamics 365 CRM.
Install Data Export Service
- Open the Dynamics 365 CRM >> Navigate to Settings . Click and open the Microsoft AppSource as shown below.
- In AppSource, search for Data Export Service and click on Get it Now.
- Fill the necessary details and install the Data Export Service in the Dynamics 365 CRM. Once the installation start, we can view the installation status in the Dynamics solutions.
- Once installation is completed, the Data Export will be populated in Dynamics 365 CRM settings as shown below.
Create/Identify Azure Key Vault & Key
- Open the the https://portal.azure.com/.
- Open the Key Vault as shown below.
- For now, we will add a new Key Vault. Click on the add button as shown below.
- Fill the necessary details and create a new Key Vault.
- Once your Key Vault is created, it will be populated in the Key Vault section.
- In the opened Key Vault, click on Keys >> Generate/Import.
- Create a new key with by entering the necessary details.
- Open the populated Key >> Click and open the current version.
- In the Current Version, the Key Identifier will be available. Copy the populated Key Identifier somewhere in your local machine as we will use it later.
Create a Secret in the Azure Key Vault
- Now return back to the main Key Vault screen. Search and find for “Secrets”. In Secret, click on Generate/Import.
- Provide a Name and Value (Password) to the Secret and click on create.
- Now, after creating the Key Vault. Click on Add Tags as shown below.
- Enter the Dynamics 365 organizationid as the “Tag Name” (Locate the organizationalid in D365 by navigating to Settings > Customizations > Developer Resources.) Note : – This is also called as Instance Reference Information ID.
- Enter the TenantID as the “Tag Value” (Locate the Azure Tenant Id while logged into https://www.portal.azure.com by hovering over your name in the top right corner. More information on how to locate your Azure Tenant Id)
- Save the Tag.
- Copy the secret identifier value from the same Secret which we will use below.
Register the Data Export Service Application
- Navigate to Azure Active Directory > App Registrations.
- Locate and select the application Data Export Service for Microsoft Dynamics 365 (If it hasn’t been installed into D365 CE yet, go back and do that now.)
- Enter a sign-on URL within your organization’s domain
- Next, open the Data Export Service for Microsoft Dynamics 365 app.
- Go to Settings > Required Permissions > Add
- Select an API
- Select Azure Key Vault > Permissions
- Select Delegated Permissions and Have Full Access
Configure the Access Policy for the D365 Organization in Azure
- Log into the Azure portal with organization user credentials and navigate to your key vault.
- Open the Key Vault to create an Access Policy for it. Select Access Policies > Add New.
- Search or select Data Export Service for Microsoft Dynamics 365.
- Select principal: enter the name or SPN of the DES application b861dbcc-a7ef-4219-a005-0e4de4ea7dcf
- Key permissions: 0
- Secret permissions: Get
- Certificate permissions: 0
Enable Change Tracking on Entities in Dynamics 365 CRM
Ensure that change tracking has been turned on in D365 CE for the entities that will be exported via DES. Keep in mind it must be done manually in each instance, as it does not migrate with solutions. Tip! Keep the amount of entities with change tracking enabled to a minimum to avoid unnecessary overhead.
- Inside of the D365 CE Customization area, navigate to the Entity Definition area to select “Change Tracking”.
- Save and Publish the changes.
Create the Dynamics 365 CRM Data Export Profile
- Obtain the Secret Identifier Value for the Secret from the Azure administrator for the Key Vault URL before you begin.
- Log in D365 CE with administrator credentials.
- Navigate to Settings > Data Export. (This is the DES that was installed from step one solution import.)
- Create a new data profile.
- Enter the parameters requested.
Name: ReportingExport (Or, another name that makes sense for your purpose)
Key Vault URL: This is the Secret Identifier Value copied during the steps above or provided by your Azure administrator. It looks something like this:
(Reminder: Don’t use what you see here. This sample includes an invalid GUID and is solely for reference purposes. You’ll need the value from your Azure tenant.)
Retry Count: Default 12
Retry Interval (in sec.): Default 5
Write Delete Log: True
- Select Validate, If successful, Click OK > Next.
- If the error “Error validating profile registration” occurs, check out that section below for a suggested resolution.
- Select the entities to be included/excluded for this profile.
- Select any relationships to be included/excluded for this profile.
- Review the Summary to ensure everything is as you wish.
- Select Create & Activate.
- Click on Refresh.
- View the status of the profile components.
Thus we successfully implemented the Data Export Service in Dynamics 365 CRM.