SQL Server Profiler. Generar trazas en SQL Server.

¡Buenas a todos! En la entrega de hoy, vamos a ver como buscar problemas de rendimiento a través de la herramienta SQL Server Profiler. Esta es una herramienta muy útil a la hora de buscar sesiones que disparen lecturas, escrituras….

Para iniciar el analizador del SQL Server:

  1. Abrir: Inicio, todos los programas
  2. Seleccione el programa SQL Server Profiler

O

  1. Abra SQL Server Management Studio
  2. En el menú de herramientas, seleccione el SQL Server Profiler

O

  1. Abra el símbolo del sistema
  2. Escriba profiler
  3. Presione Enter

Una vez abierto, debemos establecer conexión contra la Base de Datos a la que vamos a conectarnos.

Para crear una nueva traza:

  1. En el SQL Server Profiler, abra File en el menú
  2. Seleccione “New Trace”
  3. Seleccione una instancia de SQL Server, modo de autenticación y proporcione las credenciales
  4. En la pestaña de selección de eventos haga clic en Mostrar todos los eventos (Show all events)
  5. Seleccione todos los eventos y las columnas de evento que desea rastrear

Tenemos que tener claro que tipo de evento es el que queremos capturar ya que, en caso de marcar todos los eventos y columnas, tendremos demasiada información en la traza y nos será complicado buscar la información deseada.

SQL Server Profiler

Una vez tengamos seleccionados los eventos, daremos a Run para empezar a capturar la traza.

SQL Server Profiler

Cómo generar las trazas con SQL Server Profiler

***  DBA Tip ***

Digamos que hemos puesto la traza entre las 13:30 y las 14:30 y en la traza tenemos un total de 1.5 millones de filas, es inviable buscar línea por línea la información importante. Por ello, debemos guarda la traza en File -> Save as  y guardarla en la ubicación elegida.

SQL Server Profiler

Una vez guardada, utilizaremos el siguiente comando para leer la traza desde SSMS

select * from ::fn_trace_gettable(N’D:\Trazas\trazas.trc’,default)  

Podemos trabajar con la traza como si fuese una tabla normal. Además nos permite aplicar filtros en las columnas que hayamos seleccionado.

Por ejemplo, podemos buscar todas las querys entre las 12:25 y 12:35 que haya ejecutado el usuario 42

select * from ::fn_trace_gettable(N’D:\Trazas\trazas.trc’,default)  where StartTime > ‘2020-09-08 12:25:09.270’ and StartTime < ‘2020-09-08 12:35:09.270′  and LoginName=’Usuario42’

Es una herramienta muy potente para poder analizar el rendimiento de nuestro servidor SQLSERVER. Si sigues teniendo dudas de como utilizarlo no dudes en contactar con nosotros.

Más información sobre SQL Server Profiler en https://docs.microsoft.com/es-es/sql/tools/sql-server-profiler/sql-server-profiler?view=sql-server-ver15

Esperamos que os sea de utilidad.

Un saludo,

Equipo de Base de datos

Si no quieres perderte trucos como este y estar al día de este mundo, suscríbete a nuestra newsletter y te mantendremos informado con un solo email al mes.