Connaître la taille du cache alloué aux bases de données d’une instance

Voici une petite requête qui retourne la répartition de la mémoire allouée aux données pour toutes les bases de données d’une instance SQL Server :

1
2
3
4
5
6
7
8
9
10
11
12
13
-------------------------------
-- Nicolas SOUQUET - 09/02/2011
-------------------------------
SELECT    CASE
      WHEN GROUPING(D.name) = 1 THEN 'TOTAL'
      ELSE D.name  
    END AS database_name
    , CAST(COUNT_BIG(*) / 128.0 AS decimal(10,2)) AS cached_size_MB
FROM    sys.dm_os_buffer_descriptors AS OSBD
INNER JOIN  sys.databases AS D ON OSBD.database_id = D.database_id
--WHERE    D.name = 'maBD'
GROUP BY  D.name WITH ROLLUP
ORDER BY  cached_size_MB DESC

Bon monitoring !

ElSuket

Une réflexion au sujet de « Connaître la taille du cache alloué aux bases de données d’une instance »

Laisser un commentaire