Inhalt

Dataverse Clone Wars: Doppelte Datensätze mit SSIS zusammenführen (KingswaySoft Guide)

Foto of Andrew Wulf in Unsplash

Vor langer Zeit, in einer Datenbank weit, weit entfernt… 😁

Es herrscht Chaos.
Das mächtige Dataverse wird von einer überwältigenden Armee doppelter Datensätze belagert.
Kontakte und Accounts wurden endlos geklont – das CRM-Universum droht zu kollabieren.

Bewaffnet nur mit einem SSIS-Paket (SQL Server Integration Services) erhebt sich ein mutiger Dateningenieur, um wieder Gleichgewicht in das System zu bringen.
Seine Mission: doppelte Datensätze in grossen Mengen zusammenführen, verstreute Daten vereinheitlichen und Frieden ins Dataverse bringen.

Vielleicht fragst du dich jetzt:
„Ist SSIS wirklich die einzige Möglichkeit? Ich habe noch nie davon gehört – Power Automate erfüllt sonst all meine Wünsche!“

Und ich sage dir: Nein, Power Automate kann das auch… aber geh besser spazieren, während es fertig wird.


TL;DR:
Verwende das fertige KingswaySoft-SSIS-Paket, um doppelte Datensätze in Dataverse zusammenzuführen.
Verbinde dich per SOAP (oder OAuth), definiere deine Matching-Logik (z. B. emailaddress1), passe die Vergleichsoptionen an, überprüfe die Ergebnisse mit dem Data Viewer und teste immer zuerst sicher in einer Sandbox, bevor du zum Jedi wirst.


Warum nicht einfach mit Power Automate?

Power Automate kann zwar Zusammenführungen auslösen – ich habe es selbst ausprobiert –, aber effizient wird es bei grossen Datenmengen kaum.
Das Problem ist weniger die Funktionalität, sondern die Skalierbarkeit.
Wenn du tausende Datensätze vergleichen musst, wird Power Automate eher zum Padawan als zum Jedi-Meister.

Wenn deine Duplikate überschaubar sind, kann Power Automate trotzdem passen. Ich empfehle diesen Artikel:
👉 Automatisches Zusammenführen doppelter Accounts in Dynamics 365 mit Power Automate

Aber wenn du mehr als 50.000 Kontakte oder Accounts hast, übernimmt SSIS wie ein echter Sith-Lord der Daten.


Voraussetzungen

Um dein SSIS-Paket für den Kampf vorzubereiten, brauchst du:

  • Visual Studio 2019/2022 (Professional oder Enterprise)
  • SQL Server Data Tools (SSDT) für Visual Studio
  • KingswaySoft SSIS Productivity Pack
  • KingswaySoft SSIS Integration Toolkit for Microsoft Dynamics 365

Wenn du zum ersten Mal mit SSIS arbeitest – ich bin stolz auf dich! 🫡
Starte hier: How to install SSIS, KingswaySoft, and Visual Studio for Dynamics 365

⚠️ Sicherheit zuerst

  • Immer zuerst in einer Sandbox testen
  • CSV-Export der zu prüfenden Duplikate (Quelle + Master)
  • Audit-Log führen (winnerid → loserid)
  • Mit Top 100 starten, bevor du alle Datensätze verarbeitest

Die Schlacht

Wenn alles bereit ist: Die KingswaySoft‑Leute haben bereits ein fertiges Paket — du musst es nur konfigurieren 😊

Hier klicken, um das KingswaySoft‑SSIS‑Paket herunterzuladen

Öffne Visual Studio und erstelle ein neues Projekt: Integration Services Project.

/posts/dataverse-ssis-merge-duplicates/image1.png
Wenn du diesen Projekttyp nicht siehst, installiere 'SQL Server Data Tools (SSDT) for Visual Studio'.

Entpacke nun das KingswaySoft‑Paket und füge es deinem Projekt hinzu. Im Solution Explorer: Rechtsklick auf SSIS PackagesAdd Existing Package.

/posts/dataverse-ssis-merge-duplicates/image2.png

Wähle File System als Paketquelle und navigiere zum entpackten Pfad.

/posts/dataverse-ssis-merge-duplicates/image3.png

Wenn du „Succeeded in upgrading the package“ siehst, bist du auf dem richtigen Weg 😉

Öffne als Nächstes das Paket MergeCRMDuplicates.dtsx und doppelklicke im Control Flow auf die Aufgabe Find and Merge CRM Duplicate Contacts. Willkommen im Kommandoraum:

/posts/dataverse-ssis-merge-duplicates/image4.png
Kommt einem vertraut vor, oder?


Verbindung einrichten

Klicke auf Dynamics CRM Connection Manager und richte die Verbindung zu deiner Dataverse‑Umgebung ein:

/posts/dataverse-ssis-merge-duplicates/image5.png
Für einen Einzel‑Use‑Case: Benutzername und Dataverse‑URL ausfüllen. Vor dem OK unbedingt 'Test Connection' ausführen 😁

Verbindungstipp: Auch wenn die Verwendung des Dynamics 365/Dataverse Connection Manager mit OAuth (Web API) moderner wirkt: In meiner Praxis ist die SOAP‑Verbindung bei KingswaySoft stabiler und funktionsreicher. Ich hatte Fälle, in denen Logiken mit SOAP perfekt liefen, mit WebAPI jedoch nicht.
Referenz: Using the CRM/Dataverse/CDS Connection Manager


Die Duplikat‑Logik

In meinem Beispiel sind Kontakte nach E‑Mail‑Adresse doppelt.
Das KingswaySoft‑Paket liest bereits alle Kontakte ein, daher öffne ich die Komponente Duplicate Detection on name und benenne sie zu Duplicate Detection on email um.

Hier kannst du definieren:

  • Die Spalte, nach der abgeglichen wird (z. B. emailaddress1)
  • Den Match‑Typ (Exact Match, Fuzzy Match usw.)
  • Die Ähnlichkeitsschwelle (Prozentsatz, ab dem als Duplikat gilt)

/posts/dataverse-ssis-merge-duplicates/image6.png
Für das Beispiel wähle ich 'emailaddress1' mit Exact Match.

Die wahre Stärke liegt in den Vergleichseinstellungen. Damit normalisierst du Werte vor dem Abgleich, z. B.:

  • Zusätzliche Leerzeichen ignorieren
  • Gross-/Kleinschreibung angleichen
  • Endzeichen/Satzzeichen entfernen

Du kannst ausserdem eine Ranking‑Strategie festlegen — sie bestimmt, welcher Datensatz „gewinnt“, wenn mehrere übereinstimmen.

Übersetzt: Wenn mehrere Datensätze matchen, bestimmt das Ranking, welcher der Master wird.

Standardmässig wird der Similarity Score genutzt, aber bei Exact Match ist er überall 1.
Ich setze gern eine Strategie, bei der der älteste Datensatz gewinnt (meist das Original).
In anderen Fällen bevorzuge ich Datensätze, die nicht „marketing‑only“ sind — diese werden in den Primärdatensatz zusammengeführt.

/posts/dataverse-ssis-merge-duplicates/image7.png


Testen und Zusammenführen der Daten

Möchtest du sehen, was passiert, bevor du zusammenführst?
Rechtsklick auf eine Verbindungs‑Linie im Control Flow und Enable Data Viewer aktivieren.
So kannst du Ergebnisse und Scores prüfen und sicherstellen, dass die Logik korrekt arbeitet.

/posts/dataverse-ssis-merge-duplicates/image8.png

Jetzt kannst du das Paket ausführen — und beobachten, wie die Zahl der Duplikate heroisch fällt, während Kontakte zusammengeführt werden.

/posts/dataverse-ssis-merge-duplicates/image9.png


Letzte Hinweise

Du hast Kontakte zusammengeführt, die du nicht wolltest?

Keine Panik. Sie sind nicht weg — nur inaktiv.
Filtere nach „Last Modified“ auf Datum/Uhrzeit deiner Ausführung und du findest sie schnell wieder.

/posts/dataverse-ssis-merge-duplicates/image10.png

Du willst sie wieder entkoppeln?

Aktiviere den Kontakt einfach wieder. Er ist dann nicht mehr verknüpft — beachte aber, dass Beziehungen/Felder bereits konsolidiert sein können.


Fazit

Du fragst dich vielleicht: „Wie oft hat er KingswaySoft geschrieben?“
Zehnmal – und nein, ich arbeite nicht dort 😁

Aber dieses Tool ist wirklich Plug-and-Play. Auch wenn SSIS nicht das neueste Werkzeug im Power-Platform-Universum ist, bleibt es eine bewährte Lösung und Referenz für Datenmigration und -bereinigung in Dataverse.

Hast du schon ähnliche Erfahrungen mit Duplikaten gemacht? Oder eine bessere Lösung gefunden?
Ich freue mich über deine Kommentare oder eine Nachricht auf LinkedIn! 🚀