La respuesta de Kevin describe qué eventos capturar en SQL Trace / SQL Profiler. Para ampliar un poco esa respuesta, SP:StmtCompleted
le mostraremos cada declaración dentro de un procedimiento almacenado que se está completando, como parece.
Además, si está en un sistema ocupado e intenta diagnosticar un problema de rendimiento, debe tener cuidado con el Analizador de SQL. SQL Profiler es mucho más lento que el seguimiento a un archivo o el uso de eventos extendidos. Esta publicación de blog de Jonathan Kehayias muestra aproximadamente un 90% de sobrecarga en el rendimiento de un sistema al usar SQL Profiler y aproximadamente un 10% de sobrecarga desde el rastreo hasta el archivo. Menos para eventos extendidos. Es por eso que generalmente se recomienda no ejecutar SQL Profiler por sí mismo mientras
Si bien esta información está disponible a través de Extended Events, sugeriría seguir usando SQL Trace (la tecnología detrás de SQL Profiler) pero en su lugar seguir un archivo(si desea invertir en el aprendizaje y el uso de eventos extendidos, este sería el camino a seguir, en una versión futura de SQL Server, SQL Trace desaparecerá y todo lo que tendremos será eventos extendidos). También le sugiero que filtre a través del botón Filtros de columna la mayor cantidad de ruido de fondo posible para asegurarse de que solo está capturando lo que es necesario. Puede configurar su seguimiento con la herramienta Profiler utilizando los pasos que Kevin describe en su buena respuesta y luego agregar un filtro desde esa misma GUI. Luego, puede exportar el rastreo como un script y ejecutar ese script en el rastreo de SQL Server a un archivo en una carpeta que no contenga archivos de registro de transacciones o bases de datos. Para exportar, simplemente debe configurar su rastreo, ejecutarlo durante unos segundos para asegurarse de que está capturando lo que desea, detenerlo y luego ir a la barra de menú y File
->Export
-> Script Trace Definition
y guarda el archivo. Luego abra ese archivo en una nueva ventana de consulta en el servidor que desea rastrear. Puede ver más sobre las opciones y definiciones de esta secuencia de comandos que creó al consultar los artículos de ayuda para los diversos procedimientos almacenados utilizados en esa secuencia de comandos que acaba de crear al comenzar aquí .
Si tiene tiempo y desea aprender, también puede leer algunos artículos sobre eventos extendidos y ver cómo capturar la información también. Jonathan Kehayias es un gran recurso para publicaciones de blog cuando esté listo para comenzar allí.
Puede capturar las declaraciones individuales en un procedimiento almacenado a través de SQL Server Profiler. Para hacer esto, en la pestaña Selección de eventos, haga clic en la casilla de verificación "Mostrar todos los eventos". Luego, desplácese hacia abajo hasta la categoría Procedimientos almacenados y marque la casilla junto a SP: StmtCompleted . Si también tiene seleccionados los eventos SQL: BatchStarted y SQL: BatchCompleted , puede obtener una imagen de principio a fin de la ejecución de un procedimiento almacenado, uniéndolo todo por SPID.
También podría ser útil mirar el caché del plan para ver si puede obtener un plan de consulta para su procedimiento de ejecución lenta. Podrías comenzar con algo como esto:
fuente