SQL SERVER Buffer Pool緩衝池裡面修改過的頁總數大小

edwardking888發表於2011-04-25

Buffer Pool緩衝池裡面修改過的頁總數大小:

SELECT count(*) * 8 as cached_pages_kb,

      convert(varchar(5),convert(decimal(5,2),(100-1.0*(select count(*) from sys.dm_os_buffer_descriptors b where b.database_id=a.database_id and is_modified=0)/count(*)*100.0)))+'%'modified_percentage

       ,CASE database_id

       WHEN 32767 THEN 'ResourceDb'

       ELSE db_name(database_id)

       END AS Database_name

FROM sys.dm_os_buffer_descriptors a

GROUP BY db_name(database_id),database_id

ORDER BY cached_pages_kb DESC;


如果一個資料庫的大部分(超過80%)是修改過的,那麼這個資料庫寫操作非常多。反之如果這個比例接近0,那麼該資料庫的活動幾乎是只讀的。讀寫的比例對磁碟的安排是很重要的。

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8183550/viewspace-693673/,如需轉載,請註明出處,否則將追究法律責任。

相關文章