2009-06-26 8 views
7

Estoy usando SQL Profiler para ver la actividad de la base de datos, y estoy interesado en ver "Permiso denegado" para varios objetos en la base de datos. Hay aproximadamente 50 artículos diferentes en la categoría "Auditoría de seguridad", pero ninguno que parece mostrar "Permiso denegado" para un objeto. Veo Falló el inicio de sesión y algunas otras fallas, pero nada en el nivel del objeto.Analizador de SQL Server: ¿está atento al permiso denegado en los objetos?

Ejemplo: Un usuario tiene permiso para una base de datos, pero no en una tabla en particular. Cuando intenten seleccionar de esa tabla, recibirán un error. ¿Puedo hacer que Profiler observe estos errores?

Respuesta

14

Desea capturar el evento "Mensaje de error del usuario" en la sección "Errores y advertencias". Puede filtrar la columna de Error como mejor le parezca. Error 229 es denegado el permiso

+0

Muy bien. tan fácil ... – gbn

+0

Esto es espectacular. Tuve que filtrar nuestros eventos 5701 y 5703, que parecen ser simplemente mensajes informativos sobre cómo configurar el idioma. Después de filtrarlos, ¡esto se convirtió exactamente en lo que estaba buscando! – SqlRyan

2

Esto podría lograr el mismo:

vuelta en SQL 2000, podría modificar el mensaje de error 229 por lo que "permiso denegado" se escribe en el registro de errores de SQL.

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

No sé si/cómo funciona esto para SQL 2005 + probably not, says Connect pero maybe we can now says Tibor Karaszi. No puedo ponerme a prueba, lo siento.

Editar: Esto tiene la ventaja de que no necesita un rastreador o un rastreador ejecutando ...

+0

Aunque esto no era exactamente lo que estaba buscando, me alegra saberlo ahora, ¡gracias! – SqlRyan

+1

Todavía funciona en 2008R2 –

+1

También funciona en 2012 SP1 – StuartQ