Dataverse Clone Wars: Cómo unir duplicados en masa con SSIS (Guía KingswaySoft)

Hace mucho tiempo, en una base de datos muy, muy lejana… 😁
Era una época de caos.
El poderoso Dataverse estaba siendo atacado por un ejército abrumador de registros duplicados.
Las cuentas y contactos se habían clonado sin fin, amenazando con desestabilizar la galaxia del CRM.
Armado solo con un paquete de SSIS (SQL Server Integration Services), un valiente ingeniero de datos se levanta para devolver el equilibrio al sistema.
Su misión: unir duplicados en masa, unificar datos dispersos y devolver la paz al Dataverse.
Quizás te preguntes:
“¿SSIS es realmente la única opción? Nunca he oído hablar de SSIS, pero Power Automate siempre hace mis sueños realidad.”
Y yo te digo: No, Power Automate puede hacerlo… pero quizá quieras dar un paseo mientras termina.
TL;DR:
Usa el paquete KingswaySoft SSIS listo para usar para unir duplicados en Dataverse.
Conéctate mediante SOAP (o OAuth), define tu lógica de coincidencia (por ejemplo,emailaddress1), ajusta las opciones de comparación, revisa los resultados con Data Viewer y prueba siempre en una sandbox antes de convertirte en Jedi.
¿Por qué no hacerlo con Power Automate?
Power Automate puede ejecutar acciones de combinación — lo intenté yo mismo — pero hacerlo de forma eficiente es un reto que aún no he aceptado.
El problema no es la funcionalidad, sino la escala.
Cuando comparas miles de registros, Power Automate pasa de ser un Jedi a un Padawan.
Si el número de duplicados es manejable, Power Automate puede ser suficiente. Te recomiendo este artículo (en inglés):
👉 Fusión automática de cuentas duplicadas en Dynamics 365 con Power Automate
Pero si enfrentas más de 50.000 contactos o cuentas, SSIS manejará la carga como un verdadero Lord Sith de los datos.
Requisitos
Para preparar tu paquete SSIS para la batalla, necesitarás:
- Visual Studio 2019/2022 (edición Professional o Enterprise)
- SQL Server Data Tools (SSDT) para Visual Studio
- KingswaySoft SSIS Productivity Pack
- KingswaySoft SSIS Integration Toolkit for Microsoft Dynamics 365
Si es tu primera vez usando SSIS — ¡me siento orgulloso de ti! 🫡
Empieza aquí (en inglés): Cómo instalar SSIS, KingswaySoft y Visual Studio para Dynamics 365
⚠️ Seguridad ante todo
- Prueba primero en un entorno sandbox
- Exporta un CSV con los duplicados candidatos (fuente + maestro)
- Mantén un registro de auditoría de las fusiones (
winnerid → loserid)- Comienza con Top 100 antes de ejecutar todo el lote
La Batalla
Cuando todo esté listo, el equipo de KingswaySoft ya tiene un paquete preparado para tus problemas: solo hay que configurarlo 😊
Haz clic aquí para descargar el paquete SSIS de KingswaySoft
Abre Visual Studio y crea un nuevo proyecto: Integration Services Project.
Ahora descomprime el paquete de KingswaySoft y agrégalo a tu proyecto. En el Solution Explorer, haz clic derecho en SSIS Packages → Add Existing Package.

Elige File System como ubicación del paquete y navega hasta la ruta descomprimida.

Cuando veas “Succeeded in upgrading the package”, vas por el buen camino 😉
A continuación, abre el paquete MergeCRMDuplicates.dtsx y haz doble clic en la tarea Find and Merge CRM Duplicate Contacts en el Control Flow. Llegarás al centro de mando:
Configurar la conexión
Haz clic en Dynamics CRM Connection Manager y configura la conexión a tu entorno de Dataverse:
Consejo de conexión: Aunque usar el Dynamics 365/Dataverse Connection Manager con OAuth (Web API) suene más moderno, en mi experiencia la conexión SOAP es más estable y completa en KingswaySoft. He tenido casos en los que las lógicas en SSIS funcionaban perfecto con SOAP pero no con WebAPI.
Referencia: Using the CRM/Dataverse/CDS Connection Manager
La lógica de duplicados
En mi ejemplo, los contactos están duplicados por correo electrónico.
El paquete de KingswaySoft ya hace una consulta de todos los contactos, así que abrí el componente Duplicate Detection on name y lo renombré a Duplicate Detection on email para mayor claridad.
Aquí puedes definir:
- La columna para comparar (p. ej.,
emailaddress1) - El tipo de coincidencia (Exacta, Difusa, etc.)
- El umbral de similitud (porcentaje para considerarlo duplicado)
El verdadero poder de este paso está en las opciones de comparación. Permiten normalizar los valores antes de comparar, por ejemplo:
- Ignorar espacios adicionales
- Tratar mayúsculas/minúsculas como iguales
- Quitar puntuación final
También puedes definir una estrategia de ranking — determina qué registro “gana” cuando hay múltiples coincidencias.
Traducido: cuando varios registros coinciden, el ranking define cuál se convierte en el maestro.
Por defecto se usa Similarity Score, pero con coincidencia exacta todos valen 1.
Me gusta definir una estrategia en la que gana el registro más antiguo, asumiendo que es el original.
En otros casos, priorizo contactos que no son “solo de marketing”, fusionándolos en el principal.

Probar y combinar los datos
¿Quieres ver qué pasa antes de ejecutar la fusión?
Haz clic derecho en una línea de conexión del control flow y selecciona Enable Data Viewer.
Así puedes previsualizar resultados, revisar puntuaciones y asegurar que la lógica funciona.

Ahora ejecuta el paquete — verás cómo el número de contactos fusionados sube heroicamente mientras caen los duplicados.

Consejos finales
¿Fusionaste contactos que no debías y no los encuentras?
Tranquilo. No han desaparecido — solo están inactivos.
Filtra por “Last Modified” a la fecha/hora en que ejecutaste el paquete SSIS y aparecerán enseguida.

¿Quieres deshacer la fusión?
Simplemente reactiva el contacto. Ya no quedará vinculado — aunque algunas relaciones o campos podrían haberse consolidado.
Conclusión
Quizás pienses: “¿Cuántas veces ha escrito KingswaySoft?”
Diez veces, contando esta — y no, no trabajo para ellos 😁
Pero su solución SSIS es verdaderamente plug-and-play. No necesitas configurar demasiado para eliminar duplicados de forma eficiente.
Aunque SSIS no sea la herramienta más nueva del ecosistema Power Platform, sigue siendo una solución probada para migraciones y limpieza de datos en Dataverse.
¿Has hecho algo parecido con duplicados? ¿Tienes una mejor solución? ¿Problemas al configurarlo?
¡Me encantaría conocer tu experiencia! Escríbeme aquí o etiquétame en LinkedIn 🚀