2009-06-26 9 views
7

J'utilise SQL Profiler pour regarder certaines activités de base de données, et je suis intéressé à regarder "Permission Denied" pour divers objets dans la base de données. Il y a environ 50 articles différents dans la catégorie "Security Audit", mais aucun qui semble afficher "Permission denied" pour un objet. Je peux voir l'échec de connexion, et quelques autres échecs, mais rien au niveau de l'objet. Exemple: Un utilisateur a l'autorisation d'une base de données, mais pas sur une table particulière. Lorsqu'ils tentent de sélectionner à partir de cette table, ils reçoivent une erreur. Puis-je demander à un profileur de surveiller ces erreurs?SQL Server Profiler - Surveillez les autorisations refusées sur les objets?

Répondre

14

Vous souhaitez capturer l'événement "User Error Message" dans la section "Erreurs et avertissements". Vous pouvez filtrer la colonne Erreur comme bon vous semble. Erreur 229 est refusée la permission

+0

Très bon. si facile ... – gbn

+0

C'est spectaculaire. J'ai dû filtrer nos événements 5701 et 5703, qui semblent être simplement des messages d'information sur le réglage de la langue. Après que j'ai filtré ceux-ci, c'est devenu exactement ce que je cherchais! – SqlRyan

2

Cela pourrait atteindre le même:

Retour dans SQL 2000, vous pouvez modifier un message d'erreur 229 si « Autorisation refusée » est écrit dans le journal d'erreur SQL.

EXEC dbo.sp_altermessage 229, 'WITH_LOG', 'true' 

Je ne sais pas si/comment cela fonctionne pour SQL 2005+ probably not, says Connect mais maybe we can now says Tibor Karaszi. Je ne peux pas me tester, désolé.

Edit: Ceci a l'avantage que vous n'avez pas besoin profileur ou une course traceur ...

+0

Bien que ce n'était pas exactement ce que je cherchais, je suis content de le savoir maintenant - merci! – SqlRyan

+1

Il fonctionne toujours sur 2008R2 –

+1

Fonctionne également sur 2012 SP1 – StuartQ

Questions connexes