Un cliente me hizo el siguiente comentario (bastante preocupado por cierto). Nicolás, los usuarios se quejan de la lentitud en nuestras bases de datos multidimensionales (más conocidos como cubos de información) y queremos detectar cuál es la consulta que está produciendo esa lentitud. La hora que sucede esta lentitud es entre la 1:00pm y 2:00pm. ¿Cómo podemos atacar este problema y posteriormente darle solución?
La alternativa que le sugerí era aplicar el Profiler en ese lapso de tiempo y capturar la traza para posteriormente realizar el análisis, veamos como lo hicimos.
Pueden bajar los archivos utilizados para el artículo haciendo clic aquí.
Primero ubicamos el SQL Server Profiler, dentro de la carpeta Microsoft SQL Server 2012, Performance Tools:
También lo podemos encontrar en el SSMS, Tools:
Una vez lanzado el programa procedemos a crear una nueva traza, nos vamos al menú File, New Trace:
Nos conectamos al servidor multidimensional Analysis Services:
A continuación nos muestra la pantalla de configuración de la traza, dejaremos la plantilla por
default, y capturaremos la traza como archivo que llamaré TraceAS.trc:
En la pestaña Events Selection podemos observar los eventos y las columnas informativas, el que nos va a interesar en nuestro caso es el primer evento “Command Events” y la columna “Duration”,
y procedemos a iniciar la captura con un clic en el botón Run:
Observamos como el Profiler va capturando la traza, las columnas que debemos poner atención son TextData (que corresponde a la sentencia capturada), NTUserName y Duration:
Luego detenemos la traza, ya que tenemos que tener en cuenta que Profiler consume muchos recursos y se recomienda lanzarlo desde una pc cliente inclusive:
Verificamos que se ha creado el archivo trace TraceAS.trc:
En el próximo post realizaremos el análisis de este trace y daremos solución a la consulta de nuestro cliente.
Hasta la próxima…!!!
Nicolás