Очистка и размер занятой памяти в MS SQL
Как можно узнать размер текущего объема данных используемых MS SQL на сервере и очистить их?
Имея на сервере много БД разных размеров, иногда не понятно какая из них сколько памяти сьела.
Как и всегда не понятно какая БД сколько сьела, и заняла всю память, что бы ее как то очистить например тем же auto close необходимо понять какая же столько заняла.
Долго искал как же можно это просмотреть, но как то не получалось, пока не наткнулся на такой код:
T-SQL:
SELECT count(*)AS cached_pages_count,(count(*) * 8) as KB
,CASE database_id
WHEN 32767 THEN 'ResourceDb'
ELSE db_name(database_id)
END AS Database_name
FROM sys.dm_os_buffer_descriptors
GROUP BY db_name(database_id) ,database_id
ORDER BY cached_pages_count DESC;
Может кому то будет полезно и поможет так же как помогло и мне.