Une méthode simple que j'ai utilisée dans le passé consiste simplement à créer une deuxième table dont la structure reflète celle que je veux auditer, puis créer un déclencheur de mise à jour/suppression sur la table principale. Avant qu'un enregistrement ne soit mis à jour/effacé, l'état actuel est enregistré dans la table d'audit via le déclencheur. Bien qu'efficaces, les données de la table d'audit ne sont pas les plus utiles ou les plus simples à rapporter. Je me demande si quelqu'un a une meilleure méthode pour vérifier les changements de données?Suggestions pour implémenter des tables d'audit dans SQL Server?
Il ne devrait pas y avoir trop de mises à jour de ces enregistrements, mais il s'agit d'informations très sensibles, il est donc important pour le client que tous les changements soient audités et facilement signalés.
SQL Server 2008 dispose d'une prise en charge intégrée avec la nouvelle fonctionnalité de capture de données de modification –
andyp
Je dois préciser que cette fonctionnalité est uniquement disponible dans l'édition Enterprise. – user17060
La fonction de modification de la capture de données semble également être plus utile pour garantir que les objets d'application sont conservés dans la base de données plutôt que dans une solution d'audit. (Il ne stocke que 2 jours de modifications par exemple.) Vous devez toujours rechercher les modifications et les écrire dans une table. Il est donc préférable de créer et d'utiliser des déclencheurs pour écrire dans une table d'audit centrale comme indiqué ci-dessous. Oh, et l'URL ci-dessus est cassée, utilisez ce [lien] (http://msdn.microsoft.com/en-us/library/bb933874.aspx). – BJury