-
Creation de logs
Bonjour,
Pour le site pour lequel je travaille, Je desire logguer tout ce qui est fait sur le site.
Pour l'instant ma solution est d'avoir créé des triggers sur toutes les tables de ma BDD et d'avoir créé une BDD identique avec des champs dates en plus et le type d'action (delete, update, insert) afin d'inserer le nouveau contenu.
Est ce une bonne solution ou avez-vous mieux ?
Merci pour vos conseils.
-
Il existe au moins 5 outils intégrés à SQL Server pour ce faire :
1) CDC : change data capture (nécessite la version enterprise
2) Change Tracsking
3) profiler SQL
4) Extended Events
5) Database Audit
Des 5 vous avez choisit aucun, mais vous avez décidé de prendre la plus mauvaise des solutions en terme de performances...
Dommage !
A +
-
A votre avis quelle devrait etre la meilleure solution ? Car je donne la possibilité aux administrateurs de consulter les logs, de faire des recherches....
Merci
-
Quel est le but de votre trace ?
Sécurité ? (qui à fait quoi...)
Alimentation d'un DataWarehouse ? (qu'est ce qui a changé...)
Performances ? (métriques de consommation de ressources, de temps...)
A +
-
Nous avons un site financier et boursier ou chaque action doit etre sauvegarder en cas d'un retour en arriere, ou savoir qui a fait quoi et quand......
Pour l'instant tout fonctionne bien, mais je prefere prevoir et faire les choses le plus performant possible.
Merci encore
-
A mon avis la solution la plus adaptée est l'audit de base de données (database audit) que l'on trouve en version Enterprise à partir de 2008.
A +
-
Je ne dispose que de la version standard.
Change Tracking m'a l'air pas mal non ?
-
Oui, mais change tracking ne permet pas de savoir QUI.... vous ne saurez que QUOI !
A +
-
change tracking est trop sommaire. Je vais regarder Extended Events
-
N'ayant pas la version Entreprise, et Change Tracking ne gardant pas les anciennes valeurs changées et mon systeme de log via les triggers au niveau perf n'est peut etre pas le plus, que me conseilleriez vous ?
-
J'ai comme idée un système de versionning en ajoutant une colonne pour le numéro de version dans la table nécessitant cet audit. Par contre, ça se fait toujours via un trigger instead of insert, update
-
Dans mon system de log actuel datant de sql server 2000. Le trigger enregistre dans une autre BDD la ligne modifiée avec la date et la personne effectuant le changement.
Y a t'il une autre facon de faire ca plus simplement ?