2011-03-04 18 views
5

Tengo lo que parece ser un objetivo fácil de lograr, pero no he encontrado una buena solución. Google no arroja luz sobre eso y solo espero haber estado buscando una solución en lugares equivocados o simplemente intenté usar las herramientas de manera incorrecta ...Registrar consultas erróneas solo en el servidor SQL

O tal vez ya sea demasiado tarde para mí hoy pensar claramente :) Pero aquí es donde me puedes ayudar, espero.

Necesito ser capaz de registrar consultas erróneas solo que se ejecutaron en una instancia específica de SQL Server. Pensé que el Analizador de SQL me permitiría hacerlo en poco tiempo, pero no he podido encontrar una combinación de configuraciones que me permitiera registrar solo aquellas consultas, que arrojaron un error (muy probablemente un error de análisis) + detalles del error .

Imagine SQL Server con 100s de consultas ejecutándose cada segundo, y solo 1 o 2 consultas formadas incorrectamente cada día que resultan con un error de análisis. Solo necesito poder ver esas 1-2 consultas por día sin tener que ejecutar un perfil muy caro para todas las consultas en el sistema y tener que buscarlo cada día.

¿Es eso posible?

+0

¿En qué versión de SQL Server estás? Extended Events tiene una arquitectura de filtrado mucho más flexible. –

+0

Esta instancia particular es SQL Server 2005 con base en –

Respuesta

10

Configure un seguimiento para Exception Event Class, SQL:BatchCompleted Event Class y RPC:Completed Event Class. Agregue un filtro para Error no igual a 0. Comience la traza. Hecho.

+0

. Sabía que era demasiado tarde para encontrar la solución adecuada ... ¡gracias, amigo! Este fue un gran comienzo y después de algunos ajustes, tengo justo lo que necesitaba. Muy apreciado. –

+0

Cuando probé esto, obtuve las excepciones, pero ninguno de los 'SQL: BatchCompleted' o' RPC: Completed' en mi seguimiento? – leeand00

+0

También recomiendo agregar [Mensaje de error del usuario] (https://msdn.microsoft.com/en-us/library/ms190953.aspx) (para ver descripciones detalladas de los errores); y filtra 'Error' 0, 5701 y 5703 (esos dos últimos códigos son notificaciones sin importancia) –

Cuestiones relacionadas