MSSQL 获取当前数据库缓存大小


数据库缓存对象被记录在 “sys.dm_os_buffer_descriptors”动态视图中,
每缓存一页数据,就会向 “sys.dm_os_buffer_descriptors”表插入一行记录,我们通过MSSQL此管理视图,
可以获取数据库缓存所占用的空间大小

例1 数据库缓存大小:

  select count(*)*8/1024 as [数据库占用缓存大小MB] from sys.dm_os_buffer_descriptors
   ---由于数据库每页为8K,所以缓存大小为行数*8

例2 分别统计数据库下不同DB的数据库大小:

  select COUNT(*)*8/1024 as [数据库缓存大小MB],
db_name(database_id) as [数据库名]
 from sys.dm_os_buffer_descriptors
  group by  db_name(database_id) 


相关阅读:
sys.dm_os_buffer_descriptors简介