2009-06-26 17 views
7

Sto utilizzando SQL Profiler per osservare alcune attività del database e sono interessato a vedere "Autorizzazione negata" per vari oggetti nel database. Ci sono circa 50 articoli diversi nella categoria "Controllo sicurezza", ma nessuno che sembra visualizzare "Autorizzazione negata" per un oggetto. Riesco a vedere Login non riuscito e alcuni altri errori, ma nulla a livello di oggetto.SQL Server Profiler: controlla il permesso negato sugli oggetti?

Esempio: un utente dispone dell'autorizzazione per un database, ma non su una tabella specifica. Quando tentano di selezionare da quella tabella, riceveranno un errore - posso controllare i profiler per questi errori?

risposta

14

Si desidera acquisire l'evento "Messaggio di errore utente" nella sezione "Errori e avvisi". Puoi filtrare la colonna di errore come meglio credi. Errore 229 è permesso negato

+0

molto buona. così facile ... – gbn

+0

Questo è spettacolare. Ho dovuto filtrare i nostri eventi 5701 e 5703, che sembrano essere solo messaggi informativi sull'impostazione della lingua. Dopo aver filtrato quelli, questo è diventato esattamente quello che stavo cercando! – SqlRyan

2

Questo potrebbe ottenere lo stesso:

Torna a SQL 2000, è possibile modificare il messaggio di errore 229 in modo "permesso negato" è scritto nel log degli errori di SQL.

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

Non so se/come funziona per SQL 2005 + probably not, says Connect ma maybe we can now says Tibor Karaszi. Non posso mettermi alla prova, scusa.

Edit: Questo ha il vantaggio che non è necessario profiler o un tracciante in esecuzione ...

+0

Anche se questo non era esattamente quello che stavo cercando, sono contento di saperlo ora - grazie! – SqlRyan

+1

Funziona ancora su 2008R2 –

+1

Funziona anche su SP1 2012 – StuartQ

Problemi correlati