2012-05-30 1 views
0

J'ai les colonnes suivantes créées dans ma table SQL Server:Comment auditer une application dans Asp.net et SQL Server?

Log_id 
Old_value 
New_value 
Module [The module for the transaction] 
Reference_id [unique id of the record from respective tbl to associate with transaction history] 
Transaction [The type of transaction. Can include, INSERT, UPDATE or DELETE] 
Transaction_status [Indicates SUCCESS or FAILURE] 
Stack_trace [The detailed stack trace of the error] 
Modified_on 
Modified_by 

Quelle serait la meilleure façon possible et efficace d'insérer les données pertinentes à la table de vérification ci-dessus chaque fois Insertion, mise à jour ou supprimer arrive.

Veuillez nous consulter. Merci.

+0

Exécutez l'instruction d'insertion pour insérer l'enregistrement dans cette table à partir du code asp.net derrière chaque fois que vous avez besoin de vous connecter. –

Répondre

0

Trigger peut avoir un problème avec Modifed_by. C'est ASP.NET donc très probablement une seule connexion à SQL et seulement ASP connaît Modified_by.

Si toutes les informations du journal sont déjà en SQL, déclencher.

Si le journal nécessite des informations qui ne sont pas déjà dans SQL, alors les meilleurs et les plus efficaces ne sont pas les mêmes. Deux instructions indépendantes via une procédure stockée seraient les plus efficaces. Mais pour l'intégrité des données, empochez les deux instructions d'une transaction afin qu'elles réussissent ou échouent en tant qu'unité. Très peu de frais généraux. Encore une fois dans une procédure stockée. Ou dans le code derrière vous pourriez utiliser TSQL et la transaction, mais la procédure stockée va être plus rapide et plus sûr.

Regardez également les index sur votre journal. Moins d'index est insertion plus rapide. Un journal est l'endroit où vous pouvez optimiser la vitesse d'insertion sur la vitesse sélectionnée.

Questions connexes