|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre à l'essai
![]() Inscription : juillet 2008 Messages : 92 ![]() |
Bonjour,
Je souhaiterais faire un audit sur une table contenant des infos sensibles. Je voudrais auditer les requêtes de type "select" qui y sont faites et enregistrer les résultats de l'audit dans une table. Est-ce que c'est faisable sous SQL Server 2005 ? Merci |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() ![]() |
|
|
00
|
|
|
#3 |
|
Membre à l'essai
![]() Inscription : juillet 2008 Messages : 92 ![]() |
La solution proposée par SQLPro ne fonctionne que sur la version 2008.
Qu'en est-il pour SQL Server 2005 ? Merci |
|
|
00
|
|
|
#4 | ||
|
Membre Expert
![]() ![]() |
Bon tu peux utiliser ceci :
Code :
|
||
|
00
|
|
|
#5 |
|
Membre à l'essai
![]() Inscription : juillet 2008 Messages : 92 ![]() |
Merci, c'est pas mal mais je ne peux pas tracer les évènements "SELECT" d'une table et c'est précisément ceci qui m'intéresse.
On ne peut pas auditer les select? Merci |
|
|
00
|
|
|
#6 | ||||||
|
Membre Expert
![]() ![]() |
Pour auditer uniquement les SELECT portant sur une table en particulier :
Code :
Code :
Code :
|
||||||
|
00
|
|
|
#7 |
|
Membre à l'essai
![]() Inscription : juillet 2008 Messages : 92 ![]() |
Lorsque je lance la partie du SELECT, j'obtiens bien des résultats.
Par contre si je lance le code : j'obtiens le message suivant : "Les données de chaîne ou binaires seront tronquées." Ok, j'imagine que la colonne text n'a pas la capacité suffisante... Merci |
|
|
00
|
|
|
#8 |
|
Membre à l'essai
![]() Inscription : juillet 2008 Messages : 92 ![]() |
Je voudrais également savoir qui a lancé la requête, c'est possible?
|
|
|
00
|
|
|
#9 | ||
|
Membre Expert
![]() ![]() |
As-tu tenté de remplacer Text_SQL nvarchar(4000) par
Text_SQL nvarchar(max) Pour avoir Code :
|
||
|
00
|
|
|
#10 |
|
Membre à l'essai
![]() Inscription : juillet 2008 Messages : 92 ![]() |
Effectivement ça fonctionne, il ne me reste plus qu'à stocker le login, c'est faisable?
Merci |
|
|
00
|
|
|
#11 | |
|
Membre Expert
![]() ![]() |
Citation:
|
|
|
00
|
|
|
#12 |
|
Membre Expert
![]() ![]() |
pour obtenir les users ayant exécutés les requêtes SELECT tu peux créer une trace Profiler, l'utiliser pour insérer les infos dans la table T_audit
|
|
00
|
|
|
#13 |
|
Membre à l'essai
![]() Inscription : juillet 2008 Messages : 92 ![]() |
Il semble qu'en incluant SUSER_SNAME() je récupère le compte de service de SQL Server...
Pourquoi? |
|
|
00
|
|
|
#14 | |
|
Membre Expert
![]() ![]() |
Citation:
Comme je l'ai dit plus haut, si tu veux aussi l'utilisateur qui a exécuté la requête SELECT, il faut plutôt créer une trace Profiler pour alimenter la table T_audit. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com