Guru Guide To Sql Server Architecture And Internals.pdf May 2026
SELECT * FROM sys.dm_os_buffer_descriptors WHERE database_id = DB_ID('SalesDB'); He saw that 40 GB of the buffer pool was filled with old data from a morning report. The ETL’s needed pages (the clustered index of Orders ) were being paged in from disk— couldn’t save it because the scan had already caused random I/O earlier.
Alex updated stats:
SELECT last_user_seek, last_user_scan, modifications FROM sys.dm_db_index_usage_stats WHERE database_id = DB_ID('SalesDB') AND object_id = OBJECT_ID('Orders'); The result: last_user_seek was yesterday. modifications was over 50,000. Guru Guide To Sql Server Architecture And Internals.pdf
The buffer pool is a shared resource. Morning report’s KEEP hints or large scans polluted the cache. SELECT * FROM sys
He ran: