
In Dynamics 365 for Finance and Operations Projekten kommt es vor, dass Daten zwischen verschiedenen Umgebungen kopiert werden. Es gibt verschiedenste Gründe, wieso die Daten von einer in die andere Umgebung kopiert werden müssen. Der gebräuchlichste ist sicherlich, um eine neue Testumgebung zu erstellen.
Im Vergleich zu früheren Microsoft Dynamics AX Versionen, wo die Datenbasis meist über einen Microsoft SQL Server zugänglich waren, sind in Dyn365FO die Daten in einer Azure SQL Database gespeichert. Dies zumindest ab sogenannten Tier-2 Umgebungen, welche aus mehreren Applikationsservern bestehen.

Microsoft Dynamics LCS (Lifecycle Services) bietet schon seit einigen Monaten Tools, um Daten zwischen den Umgebungen zu kopieren. Es funktioniert zuverlässig, allerdings nur für Tier-2 Umgebungen. Problematischer wird es, wenn die Daten für die Entwicklung oder Tests auf Tier-1 Umgebungen benötigt werden.

In diesem Fall kann man das Azure DB Backup noch in LCS erstellen, allerdings erfolgt der Datenbank Restore in der Tier-1 Umgebung nach wie vor. Das Backup ist nicht mehr in einer *.bak Datei gespeichert sondern in einer Datei mit der Endung *.bacpac. Diese Datei muss in die Ziel Umgebung von LCS heruntergeladen und mit dem Command SqlPackage.exe im SQL Server importiert werden. Anschliessend startet man ein Update Script, benennt die DB um und kann danach die Umgebung mit den kopierten Daten nutzen.
Aufgrund dessen, dass Azure DB und SQL Server zwei unterschiedliche Produkte sind und Funktionen genutzt werden, die nicht in beiden Produkten supported sind, kommt es teilweise zu Problemen während des Restore oder Update Script. In diesem Fall muss identifiziert werden, welches die problematischen Objekte in der Azure DB sind (aufgrund Fehlerprotokoll beim Import). Danach müssen eine Datenbankkopie erstellt, die problematischen Objekte gelöscht und der Datenbankexport manuell erstellt werden.
Früher war der manuelle Export der einzige mögliche Weg, Daten zwischen verschiedenen Umgebungen zu kopieren. Seit Microsoft die Funktionalität für den DB Export in LCS zur Verfügung stellt, sind die manuellen Schritte nicht mehr auf der Microsoft Webseite dokumentiert. Die Webseite AXHelper stellt die Scripts allerdings noch zur Verfügung.
Copy a Microsoft Dynamics 365 for Operations database from SQL Server to an Azure SQL Database environment
Copy a Microsoft Dynamics 365 for Operations database from Azure SQL Database to a SQL Server environment
Export copies of Finance and Operations databases to restore later
Environment planning