Différence entre les journaux d'audit et les tables standard
La table d'audit Dataverse est une table système spéciale qui enregistre les modifications apportées aux autres tables de votre environnement. Contrairement aux tables standard, la table d'audit ne prend pas en charge l'API de suivi des modifications (liens delta) de Dataverse. À la place, Data Mission Sync utilise une approche de filigrane basée sur l'horodatage pour synchroniser les données d'audit.
| 💡 Remarque : pour synchroniser les journaux d'audit, vous devez avoir activé l'audit dans votre environnement Dataverse. Consultez la documentation Microsoft sur la configuration de l'audit Dataverse. |
Synchronisation basée sur les horodatages
Pour la table Audit, Data Mission Sync suit le dernier enregistrement synchronisé en utilisant l'horodatage createdon comme filigrane. Chaque synchronisation récupère les enregistrements d'audit créés après le dernier filigrane, garantissant ainsi qu'aucune entrée d'audit n'est manquée.
Cette approche diffère des tables standard qui utilisent l'API native de suivi des modifications de Dataverse avec des liens delta. La méthode du filigrane est nécessaire pour les raisons suivantes :
• La table Audit est en lecture seule et en ajout seul (les enregistrements ne sont jamais mis à jour ni supprimés)
• L'API Change Tracking n'est pas prise en charge dans la table Audit
• L'horodatage createdon fournit un ordre fiable pour la récupération incrémentielle
Traitement en deux phases
Les données d'audit sont traitées en deux phases :
1. Récupération des entrées d'audit : les enregistrements d'audit principaux sont récupérés, contenant des métadonnées sur chaque modification (qui, quand, quelle table, quelle action).
2. Extraction des détails d'audit : le champ JSON changedata est analysé pour extraire les modifications détaillées au niveau des attributs (ancienne valeur, nouvelle valeur) dans une table auditdetail distincte.
Tables cibles pour les données d'audit
Lorsque vous synchronisez la table d'audit, Data Mission Sync crée deux tables dans votre base de données Azure SQL :
| Table | Description |
| audit | Contient les principaux enregistrements d'audit, notamment auditid, action, objectid, entity_name, userid, createdon et les données brutes JSON changedata. |
| auditdetail | Contient les modifications au niveau des attributs analysées extraites du JSON changedata. Chaque ligne représente un champ qui a été modifié, avec des colonnes pour le nom de l'attribut, l'ancienne valeur et la nouvelle valeur. |
Gestion des valeurs NULL
Data Mission Sync préserve la signification sémantique des valeurs NULL dans les données d'audit :
• NULL dans oldvalue signifie que le champ n'était pas défini auparavant (nouvel enregistrement ou champ vide)
• NULL dans newvalue signifie que le champ a été effacé
• Une chaîne vide signifie que le champ a été explicitement défini sur une valeur vide
Cette distinction est importante pour une analyse précise de la piste d'audit et la création de rapports de conformité.