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 listen startet den Azure Service Bus Listener von DataMigrate PRO. Für den produktiven Betrieb werden die Verbindungseinstellungen aus settings.json geladen.
- --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 Berechtigungen für den Dienst User
- 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 RequestQueueName auf eingehende Nachrichten. Jede Nachricht löst die Datenverarbeitungs-Pipeline von DataMigrate PRO aus.
- Antworten und Statusmeldungen werden auf ResponseQueueName geschrieben.
- 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 connectionId hinterlegt sein wie in der settings.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 connectionId mit der Konfiguration in Business Central ab. Verwenden Sie eine eindeutige Kennung, um Fehlzuordnungen zu vermeiden.
- TenantInfo wird für SaaS/OAuth benötigt. Für On-Premises-Betrieb setzen Sie IsSaaS auf false und verwenden BCUser/BCPassword statt TenantInfo.
- BlobMagicSignature kann übernommen werden, sofern keine individuelle Vorgabe vorliegt.
- Weitere optionale Einstellungen wie SqlConnectionStringMigration oder AppSourceEnabled kö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 |
