SQL Server: Como saber quanto de memória cada banco de dados está usando?
Quando você tem um servidor com muita memória sobrando, é fácil deixar com que o SQL Server use toda a memória para alocar cache para acesso mais rápido aos dados, mas caso seus banco de dados comecem a usar toda a memória do servidor e você queira gerenciar este uso, o SCRIPT abaixo vai te ajudar.
Este SCRIPT, muito útil por sinal, mostra quando cada banco de dados do servidor está usando de memória.
;WITH src AS
(
SELECT
database_id, db_buffer_pages = COUNT_BIG(*)
FROM sys.dm_os_buffer_descriptors
GROUP BY database_id
)
SELECT
[db_name] = CASE [database_id] WHEN 32767
THEN ‘Resource DB’
ELSE DB_NAME([database_id]) END,
db_buffer_pages,
db_buffer_MB = db_buffer_pages / 128
FROM src
ORDER BY db_buffer_MB DESC;