Partage via


Transactions (Master Data Services)

S’applique à : SQL Server - Windows uniquement Azure SQL Managed Instance


Dans Master Data Services, une transaction est enregistrée à chaque fois qu’une action est effectuée sur un membre. Les transactions peuvent être affichées par tous les utilisateurs et être inversées par les administrateurs. Les transactions affichent la date, l'heure et l'utilisateur qui a effectué l'action, ainsi que d'autres détails. Les utilisateurs peuvent ajouter une annotation à une transaction, pour indiquer pourquoi une transaction a eu lieu.

Critères d'enregistrement des transactions

Des transactions sont enregistrées lorsque des membres :

  • sont créés, supprimés ou réactivés ;

  • ont des valeurs d'attribut modifiées ;

  • sont inclus dans une hiérarchie.

Les transactions ne sont pas enregistrées lorsque les règles d'entreprise modifient des valeurs d'attribut.

Afficher et gérer des transactions

Dans la zone fonctionnelle Explorateur , vous pouvez afficher et annoter les transactions (leur ajouter des commentaires) que vous avez effectuées.

Dans la zone fonctionnelle Gestion des versions , les administrateurs peuvent consulter toutes les transactions de tous les utilisateurs pour les modèles auxquels ils ont accès, et inverser l'une quelconque de ces transactions.

Remarque

Les administrateurs peuvent afficher toutes les transactions pour tous les utilisateurs tant qu’ils n’ont pas le niveau d’autorisation de lecture seule appliqué dans la zone fonctionnelle Gestion des versions. Par exemple, si le niveau d’autorisation de lecture seule et de mise à jour est défini pour l’administrateur, celui-ci ne peut pas voir les autres transactions utilisateur, car l’autorisation de lecture seule est prioritaire sur l’autorisation de mise à jour.

Vous pouvez configurer la durée de conservation des données de journal des transactions en définissant la propriété Nombre de jours de rétention du journal dans les paramètres système de la base de données Master Data Services et en configurant le paramètre Nombre de jours de rétention du journal lorsque vous créez ou modifiez un modèle. Pour plus d’informations, consultez Paramètres du système (Master Data Services) et Créer un modèle (Master Data Services).

Le travail SQL Server Agent, MDS_MDM_Sample_Log_Maintenace, déclenche le nettoyage des journaux des transactions et s’exécute toutes les nuits. Vous pouvez utiliser SQL Server Agent pour modifier la planification de ce travail.

Vous pouvez également appeler les procédures stockées ci-après pour nettoyer les journaux des transactions.

Procédure stockée Description
mdm.udpTransactionsCleanup Nettoie l’historique des transactions
mdm.udpValidationsCleanup Nettoie l’historique de validation
mdm.udpEntityStagingBatchTableCleanup Nettoie la table de mise en lots

Exemple

DECLARE @CleanupOlderThanDate date = '2014-11-11',  
@ModelID INT = 7  
--Clean up Transaction Logs  
EXEC mdm.udpTransactionsCleanup @ModelID, @CleanupOlderThanDate;  
  
--Clean up Validation History  
EXEC mdm.udpValidationsCleanup @ModelID, @CleanupOlderThanDate;  
  
--Clean up EBS tables  
EXEC mdm.udpEntityStagingBatchTableCleanup @ModelID, @CleanupOlderThanDate;  
  

Paramètres système

Il existe un paramètre dans le gestionnaire de configuration Master Data Services qui détermine si les transactions sont enregistrées ou non lors de l’organisation des enregistrements. Vous pouvez ajuster ce paramètre dans le gestionnaire de configuration Master Data Services ou directement dans la table Paramètres système dans la base de données Master Data Services. Pour plus d’informations, consultez Paramètres système (Master Data Services).

Lors de l’importation de données dans cette version de SQL Server, vous pouvez spécifier s’il faut enregistrer les transactions lors de l’initialisation de la procédure stockée. Pour plus d’informations, consultez Procédure stockée de mise en lots (Master Data Services).

Concurrence

Si une valeur d'entité spécifique est affichée simultanément dans plusieurs sessions de l'Explorateur, les modifications simultanées d'une même valeur sont possibles. Les modifications simultanées ne sont pas détectées automatiquement par MDS. Cela peut se produire lorsque plusieurs utilisateurs utilisent plusieurs sessions de l'explorateur MDS dans le navigateur Web, par exemple sur plusieurs ordinateurs, sous plusieurs onglets de navigateur ou dans plusieurs fenêtres, ou avec plusieurs comptes utilisateur.

Plusieurs utilisateurs peuvent mettre à jour les mêmes valeurs d'entité sans erreur malgré les transactions activées. En général, la dernière modification de la valeur dans un même intervalle de temps prévaut. Les conflits de modifications en double peuvent être observés dans l'historique des transactions et peuvent être corrigés manuellement par l'administrateur. L'historique des transactions affiche les transactions individuelles pour Valeur précédente et Nouvelle valeur pour l'attribut en question dans chaque session, mais ne corrige pas automatiquement le conflit lorsque plusieurs Nouvelles valeurs existent pour la même valeur de départ.

Description de la tâche Rubrique
Annuler une action en inversant une transaction (administrateurs uniquement) Inverser une transaction (Master Data Services)

Ressources externes

Billet de blog Nettoyage des journaux des transactions, de l’historique des problèmes de validation et des tables de mise en lots(en anglais) sur msdn.com.