Nous avons plusieurs applications qui mettent à jour une certaine table ms sql 2005 (application web asp.net, service C# windows, analyseur d'e-mails utilise sql + VB)) et souhaite stocker les informations d'audit sur la table. Par exemple. ModifiedBy, ModifiedDate où ModifiedBy = Nom de l'application mettant à jour l'enregistrement.Meilleure façon de générer des informations d'audit et d'archivage dans une base de données sql partagée par plusieurs applications
Nous aimerions également archiver les informations sur la table; Lorsque nous mettons à jour un enregistrement particulier, stockez l'enregistrement en cours dans une table myTable_Archive et marquez-le avec une date et mettez à jour l'enregistrement actuel dans myTable en conséquence.
Quelle est l'approche la plus facile à maintenir et à tester pour résoudre ce problème tout en limitant l'impact aux applications existantes? Ou quelqu'un peut-il suggérer un meilleur itinéraire? Appel d'une procédure de stockage, bibliothèque partagée C# (en utilisant nhibernate/ado.net, etc.), Ou une fonction intégrée de ms sql 2005 s'il y en a une par exemple.
Merci, c'est une petite suggestion de changement qui serait très probablement résoudre mon scénario. Y a-t-il un moyen dans le déclencheur de déterminer l'application ou le processus appelant afin que je puisse l'utiliser dans le champ ModifiedBy (nom de l'application)? –
@Luke Hutton - Tant que votre chaîne de connexion contient cette information, vous devriez pouvoir la récupérer dans les tables système. Voir la réponse de @Conrad Frix – Oded
merci, va descendre cette route, va créer des tests autour des déclencheurs. –