Saltear al contenido principal
Sp_ReportCache – Reporte De Cache En SQL Server

sp_ReportCache – Reporte de Cache en SQL Server

¿Dónde empezar el Performance Tuning de SQL Server? Podemos dar muchas y diferentes respuestas. Una de las fuentes de información más útiles en cualquier sistema siempre es el Cache que guarda en memoria, las ejecuciones más recientes realizadas en el servidor. Entonces ¿cómo generamos un Reporte de Cache?

El procedimiento sp_ReportCache permite consultar aquellas ejecuciones que se mantienen en memoria y obtener un detalle de cuáles fueron las que más consumo de lectura tuvieron, más requerimiento de memoria, o cuáles fueron las más recientes ejecuciones.

Direccionemos el Performance Tuning con sp_ReportCache

Iniciemos creando el Procedimiento Almacenado mostrado a continuación. Veremos que existen tres parámetros que serán explicados más abajo.

@OrderBy

Por defecto la llamada al procedimiento sp_ReportCache tiene los datos ordenados para mostrar primero los comandos ejecutados más recientes. Para cambiar este comportamiento, es posible considerar 3 valores diferentes: reads (cantidad de lectura), duration (tiempo de duración de ejecución) o memory (requerimiento de memoria de la consulta)

@Advanced

El valor “Advanced” permite recibir mayor cantidad de información de la ejecución del SP donde puede observarse valores de máximos y mínimos en los correspondiente a los procesos ejecutados. El valor por defecto es “0”, así que si se necesita mayor información basta con ejecutar el SP con el parámetro en valor “1”.

@Text

Este parámetro nos da la facilidad de realizar la búsqueda de una palabra clave que se requiera buscar dentro de lo que almacena el Cache.

Ninguno de los parámetros es exclusivo así que pueden combinarse en función a las necesidades de cada consulta.

Consideraciones al Reporte de Cache en SQL Server

  • Aquello que se genera en el Reporte de Cache es todo aquello que en ese momento se encuentra en memoria en el servidor.
  • Si el servidor tuvo un reinicio reciente o si tuvo una liberación de caché, entonces es posible que el reporte no tenga los datos esperados.
  • Puedes obtener el procedimiento almacenado desde el github.
  • La ejecución de este procedimiento almacenado permitirá generar un registro de comandos recientemente solicitados.

Puedes ver más herramientas entregadas en nuestro portal.

Pablo Javier Fernández

www.datoptim.com
I love working on SQL Server Performance Tuning and finding the origin of the problems. Music and SQL Server passionate.

Esta entrada tiene 2 comentarios
  1. Porque al ejecutar el procedimto me da error ?
    EXEC sp_ReportCache @Advanced = 1

    Msg 207, Level 16, State 1, Line 23
    Invalid column name ‘last_dop’.
    Msg 207, Level 16, State 1, Line 24
    Invalid column name ‘last_reserved_threads’.
    Msg 207, Level 16, State 1, Line 29
    Invalid column name ‘total_grant_kb’.
    Msg 207, Level 16, State 1, Line 30
    Invalid column name ‘last_used_grant_kb’.
    Msg 207, Level 16, State 1, Line 31
    Invalid column name ‘last_ideal_grant_kb’.

    1. Hola Cesar! Eso quiere decir que tienes una versión anterior a SQL Server. Puedes editar la consulta y eliminar las columnas que te muestre el mensaje de error.
      Gracias por el comentario, vamos a hacer un ajuste para que esto no vuelva a suceder.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Close search

Carrito

Volver arriba