Diese Dokumentation beschreibt die Installation und den Betrieb des DataMigrate PRO Service-Bus-Listeners als Windows-Dienst unter dem Namen „DataMigrate PRO Synch-Service“. Die Anleitung basiert auf den verfügbaren CLI-Referenzen und den Vorgaben für settings.json.
Überblick
Der Befehl
DataMigratePro -t listen --install "DataMigrate PRO Synch-Service" --registration "<dein-registrierungsschlüssel>" --tenantid "<deine-tenant-id>"Führt nacheinander die folgenden Schritte aus:
-t listenstartet den Azure Service Bus Listener von DataMigrate PRO. Für den produktiven Betrieb werden die Verbindungseinstellungen aussettings.jsongeladen.--install "DataMigrate PRO Synch-Service DWP"installiert den Listener im Windows-Dienst-Wrapper (Launcher) und richtet den angegebenen Dienstnamen ein.--registration ... --tenantid ...prüft und speichert den Registrierungs-/Lizenzschlüssel sowie den Azure AD Mandanten. Ohne gültige Registrierung verweigert das Tool nach kurzer Zeit den Dienstbetrieb.
Voraussetzungen
- Windows-Server mit Administratorrechten (erforderlich für die Dienstinstallation).
- Kopie des DataMigratePro-Programmordners (inkl.
DataMigratePro.exe,settings.json). - Netzwerkzugriff auf:
- SQL Server der Business Central Datenbanken.
- Business Central OData-Endpunkt (
Upload_LoadData). - Azure Service Bus Namespace für eingehende Aufträge.
- SQL Berechtigungen für den Dienst User
- Mindestens db_reader auf Business Central Datenbanken
- Sofern die Migrations- und die Mapping-Datenbank angelegt wurde auf diese db_owner Berechtigung geben
- Registrierungs-Key (
--registration) und Azure AD Tenant-ID (--tenantid).
Installationsschritte
- Ordner vorbereiten
- Kopieren Sie den gesamten Lieferumfang nach
C:\Programme\DataMigratePro(oder ein anderes Ziel ohne Leerzeichen im Pfad). - Stellen Sie sicher, dass
DataMigratePro.exeundsettings.jsonerreichbar ist, und dass der Service User berechtigt ist im Pfad das Logs-Verzeichnis anlegen darf und dort Log-Dateien beschreiben darf.
- Kopieren Sie den gesamten Lieferumfang nach
- settings.json anlegen/anpassen
- Erstellen oder aktualisieren Sie
settings.jsonim Installationsordner entsprechend dem Beispiel im Abschnitt Beispielkonfiguration.
- Erstellen oder aktualisieren Sie
- Registrierung vorbereiten
- Öffnen Sie eine administrative PowerShell.
- Navigieren Sie in den Installationsordner:
cd C:\Programme\DataMigratePro.
- Registrierung ausführen
- Führen Sie den Befehl oben aus, aber ohne
--install, um Lizenz- und Service-Bus-Daten zu validieren: - .\DataMigratePro.exe -t listen –registration „<dein-registrierungsschlüssel>“ –tenantid „<deine-tenant-id>“
- Bei Erfolg werden die Service-Bus-Parameter (Queue-Namen, Connection String) in
settings.jsonergänzt.
- Führen Sie den Befehl oben aus, aber ohne
- Dienst installieren
- Starten Sie anschließend die endgültige Installation:.\DataMigratePro.exe -t listen –install „DataMigrate PRO Synch-Service“ –registration „<dein-registrierungsschlüssel>“ –tenantid „<deine-tenant-id>“
- Der Launcher registriert einen Windows-Dienst. Die Log-Ausgabe wird in das Windows-Ereignisprotokoll umgeleitet.
- Dienst starten
- Öffnen Sie
services.msc, suchen Sie DataMigrate PRO Synch-Service DWP, setzen Sie den Starttyp auf Automatisch und starten Sie den Dienst.
- Öffnen Sie
Funktionsweise des Service-Bus-Listeners
- Der Listener überwacht die konfigurierte
RequestQueueNameauf eingehende Nachrichten. Jede Nachricht löst die Datenverarbeitungs-Pipeline von DataMigrate PRO aus. - Antworten und Statusmeldungen werden auf
ResponseQueueNamegeschrieben. - Die Schleife läuft dauerhaft und nutzt kurze Polling-Intervalle (ca. 1 Sekunde), um neue Nachrichten zu erkennen.
- Fehler werden in das Windows-Ereignisprotokoll geschrieben; bei schwerwiegenden Fehlern stoppt der Dienst mit einem entsprechenden Fehlercode.

Konfiguration in Business Central
- n der Business-Central-Erweiterung muss dieselbe
connectionIdhinterlegt sein wie in dersettings.json, damit Nachrichten eindeutig dem Listener zugeordnet werden. - Verwenden Sie nach Möglichkeit eine eindeutig generierte Kennung (z. B. GUID oder generiertes Passwort) als
connectionId, um Überschneidungen mit weiteren Integrationen auszuschließen. - In der Business-Central-Konfiguration wird außerdem der Endpunkt der vorbereiteten Azure Function samt dem in Azure generierten Zugriffsschlüssel hinterlegt. Nur so kann die Anwendung Nachrichten erfolgreich in die Service-Bus-Queue einstellen.
Beispielkonfiguration (settings.json)
{
"SqlConnectionString": "Data Source=SQLSERVER;Initial Catalog=BC_PROD;Integrated Security=SSPI;",
"SourceCompany": "CRONUS AG",
"DestinationCompany": "CRONUS AG",
"SourceDatabase": "BC_PROD",
"MappingDatabase": "BC_PROD",
"MigrationDatabase": "BC_MIGRATION",
"EndpointUrl": "https://api.businesscentral.dynamics.com/v2.0/<deine-tenant-id>/Production/ODataV4/Upload_LoadData?company=CRONUS%20AG",
"BlobMagicSignature": [2, 69, 125, 91],
"IsSaaS": true,
"Environment": "Production",
"TenantInfo": {
"TenantId": "<deine-tenant-id>",
"ClientId": "<Azure AD App ID>",
"ClientSecret": "<Azure AD App Secret>"
},
"HttpClientTimeoutSeconds": 100,
"ServiceBus": {
"ServiceBusConnectionString": "Endpoint=sb://<namespace>.servicebus.windows.net/;SharedAccessKeyName=<Name>;SharedAccessKey=<Key>",
"RequestQueueName": "<deine-request-queue>",
"ResponseQueueName": "<deine-response-queue>",
"connectionId": "<deine-connection-id>"
}
}Hinweise:
- Die
ServiceBus-Sektion ist zwingend erforderlich für-t listen. Fehlende Werte führen beim Start des Dienstes zu einer Validierungs-Exception. - Stimmen Sie die hier eingetragene
connectionIdmit der Konfiguration in Business Central ab. Verwenden Sie eine eindeutige Kennung, um Fehlzuordnungen zu vermeiden. TenantInfowird für SaaS/OAuth benötigt. Für On-Premises-Betrieb setzen SieIsSaaSauffalseund verwendenBCUser/BCPasswordstattTenantInfo.BlobMagicSignaturekann übernommen werden, sofern keine individuelle Vorgabe vorliegt.- Weitere optionale Einstellungen wie
SqlConnectionStringMigrationoderAppSourceEnabledkönnen bei Bedarf ergänzt werden.
Überprüfung und Wartung
- Dienststatus prüfen
Get-Service "DataMigrate PRO Synch-Service"in PowerShell aufrufen.
- Logausgaben kontrollieren
- Ereignisanzeige → Anwendungs- und Dienstprotokolle → DataMigratePro.
- Einstellungen anpassen
- Dienst vorher stoppen,
settings.jsonbearbeiten, Dienst neu starten.
- Dienst vorher stoppen,
- Dienst deinstallieren
DataMigratePro.exe --uninstall "DataMigrate PRO Synch-Service"ausführen.
Troubleshooting
| Symptom | Ursache | Lösung |
|---|---|---|
| Dienst startet und stoppt sofort | Ungültige oder fehlende ServiceBus-Einträge | settings.json prüfen, Registrierung erneut ausführen |
| Fehlermeldung „Registration invalid“ | Falscher Key oder Tenant-ID | Werte prüfen, ggf. Support kontaktieren |
| Keine Nachrichtenverarbeitung | Falscher RequestQueueName oder fehlende Berechtigungen | Queue-Namen und SAS-Policy kontrollieren |
| OAuth-Authentifizierung schlägt fehl | TenantInfo unvollständig oder App-Registrierung ohne BC-Berechtigungen | Azure AD App prüfen, Secret erneuern |