Hemos estado monitoreando algunas SQLServer: Memory Managermétricas y notamos que después del DBCC CheckDBtrabajo, métricas
Database Cache Memory (KB)
cae significativamente. Para ser exactos, se redujo de 140 GB de memoria DB en caché a 60 GB. Y después de eso, aumente lentamente nuevamente durante la semana. (Cantidad de " Free Memory KB", pasó de 20 a 100 GB justo después CheckDB)
DBCC CheckDB se ejecuta todos los domingos, por lo que la memoria de la memoria caché de la base de datos debe volver a aumentar cada semana
What is the behavior of this ? Why CheckDB pushes database pages out of memory ?
La segunda pregunta es ¿por qué " buffer cache hit ratio" no cambió después de DBCC CheckDBcompletarse?
Fue de 99.99% en promedio y después del DBCC CheckDBtrabajo se redujo a ~ 98.00%, y regresó a 99% bastante rápido mientras esperaba que " buffer cache hit ratio" cayera significativamente porque los datos de la base de datos deben leerse desde el almacenamiento a la RAM nuevamente.
fuente

Respuestas:
Esto es correcto, puede ver claramente este comportamiento cuando este
DBCC CHECKDBcomando de ejemplo se completa en21h45Por qué
Este comportamiento se debe al hecho
database snapshotde que elDBCCcomando se descarta y elimina todos sus objetos en la memoria.Puede replicar el comportamiento creando una instantánea de una base de datos, cargando algunos datos en la memoria y luego soltando esa instantánea
BufferSize antes de soltar la instantánea
Soltando la instantánea
BufferSize después de soltar la instantánea
Esto depende de qué tan rápido se carguen los datos en su caché de búfer.
Si su grupo de búferes se llena durante un tiempo más largo, debería equivaler a que esta proporción se mantenga más alta en promedio.
Esto corresponde con esta parte de su pregunta:
fuente