Comment Data Mission Sync organise vos données
Lorsque Data Mission Sync se connecte à votre base de données Azure SQL, il crée un ensemble structuré de tables pour stocker vos données Dataverse répliquées. Comprendre cette structure vous aide à interroger efficacement vos données et à les intégrer à des systèmes en aval.
Data Mission Sync crée les composants suivants dans votre base de données cible :
| Composant | Description |
| Tables cibles | Une table par table Dataverse synchronisée (par exemple, compte, contact, prospect). Elles contiennent vos données répliquées avec des colonnes opérationnelles ajoutées à des fins de suivi. |
| Tables de transit | Tables temporaires (stage_{entity}) où les données entrantes sont stockées avant d'être appliquées aux tables cibles. Garantit l'intégrité des données. |
| Schéma de service | Un schéma _rep contenant des procédures d'aide et des tables de métadonnées utilisées en interne par Data Mission Sync. |
Structure de la table cible
Chaque table cible reflète la structure de votre table Dataverse, avec des colonnes correspondant aux attributs Dataverse que vous synchronisez. Data Mission Sync ajoute automatiquement des colonnes opérationnelles pour suivre les métadonnées de synchronisation.
Exemple : si vous synchronisez la table « account » de Dataverse, Data Mission Sync crée une table dans le schéma de votre choix (par exemple, dbo.account ou replica.account) avec :
• Toutes les colonnes Dataverse sélectionnées (accountid, name, telephone1, etc.)
• Les colonnes opérationnelles (_created_utc, _updated_utc, _deleted_utc, IsDeleted)
• Une clé primaire correspondant à la clé primaire Dataverse (généralement {entity}id)
Colonnes opérationnelles
Data Mission Sync ajoute les colonnes opérationnelles suivantes à chaque table cible. Ces colonnes sont gérées automatiquement et ne doivent pas être modifiées manuellement :
| Colonne | Description |
| _created_utc | DATETIME2(7) — Horodatage (UTC) de la première synchronisation de l'enregistrement avec cette base de données. Définie une fois lors de l'insertion initiale. |
| _updated_utc | DATETIME2(7) — Horodatage (UTC) de la dernière mise à jour de l'enregistrement par une opération de synchronisation. Mis à jour à chaque modification. |
| _deleted_utc | DATETIME2(7) — Horodatage (UTC) auquel l'enregistrement a été marqué comme supprimé (mode Suppression logique uniquement). NULL s'il n'est pas supprimé. |
| IsDeleted | BIT — Indicateur signalant si l'enregistrement a été supprimé dans Dataverse. 0 = actif, 1 = supprimé. Utilisé en mode Suppression logique. |
| 💡 Astuce : utilisez la colonne _updated_utc pour identifier les enregistrements récemment modifiés. Exécutez la requête WHERE _updated_utc > @LastProcessedTime pour un traitement incrémentiel en aval. | |
Nommage du schéma
Lors de la configuration du profil, vous spécifiez un nom de schéma (par défaut : dbo). Toutes les tables cibles et intermédiaires sont créées dans ce schéma. L'utilisation d'un schéma dédié (par exemple, « dataverse » ou « replica ») permet de garder vos données synchronisées organisées et séparées des autres objets de la base de données.