Dual-write

Dual-write is an out-of-box infrastructure which can be setup to provide "near-real-time" integration between Dataverse/Dynamics 365 CE apps and Finance and Operations (F&O) apps.

Good to know

This section gathers some random good-to-know info which is correct on the 2022-04-25 but could be changed in the future. Take is "as-is", this is written from experience of using Dual-write.

  • There are different ways and approaches to link Dataverse and F&O. You can link two environments together in the F&O app or you can choose to create a Dataverse environment from F&O (LCS). Creating it from LCS is the Microsoft recommended approach and in the future it will be possible to link to an existing Dataverse environment also from LCS.
  • An environment which has been created from F&O can not be renamed in Admin Center
  • When taking a Copy from a set of Dataverse + F&O and restoring to another set of Dataverse + F&O, the initial link (linked F&O environment) shown in Admin Center under the Dataverse environment remains.
  • A guidance for when to do initial sync and not to can be found in MS Docs, Guidance Matrix
  • There is an article describing the linking process, written by Faisal Fareed: Steps to follow when refresh dual-write integrated environments (FO and CE). That is a good go-to article each time you need to re-link environments, see the section below.

Re-link Dataverse-F&O

The list below is available here all thanks to Faisal Fareed and his article which was the inspiration to the list. Source environments below means the environments which we want to copy from (e.g. Prod). Target environments means the environments we want to copy to (e.g. UAT/Test).

1. Go to F&O (target environment) Data Management -> Dual Write and stop all jobs.

2. Copy from F&O source environment to F&O target environment and Dataverse source environment to Dataverse target environment. (Note, we assume that the source environments are linked).

3. Go to F&O (target environment) Data management > Dual write and Unlink environments.

4. Delete data from the following tables in F&O if data exists

  • DualWriteProjectConfiguration e.g. use URL <Environemnt URL>/?mi=SysTableBrowser&prt=initial&limitednav=true&TableName=DualWriteProjectConfiguration&cmp=<CompanyId>
  • DualWriteProjectFieldConfiguration e.g. use URL <Environemnt URL>/?mi=SysTableBrowser&prt=initial&limitednav=true&TableName=DualWriteProjectFieldConfiguration&cmp=<CompanyId>

5. Delete data from DualWriteRunTimeConfiguration Table in Dataverse, e.g. using Advanced Find.

6. Link the target environments

7. Apply Microsoft Dual-Write solutions and custom solution if any

8. Start jobs. No init sync needed if copied from both Dataverse and FnO environments which were linked. If copied only from one the two Dataverse or F&O, then also do an init sync.

Reading list

Here follows some links which might be worth taking a look at when learning how to set-up dual-write.

For instance, if customers have a self-references or circular references (like "Billing Account" or "Primary Contact") you might get errors, see Self-reference or circular reference failures during initial synchronization

Microsoft Resources

Community Resources