Dirty pages in memory are changed data pages that SQL Server has not yet written to disk. This post counts them with sys.dm_os_buffer_descriptors on SQL Server 2025, before and after CHECKPOINT, and explains why the same script can show nothing on newer servers.
Buffer Pool Extension and In-Memory OLTP: What Each One Caches
Buffer Pool Extension caches clean pages of disk-based tables on an SSD. Memory-optimized tables have no pages, so it cannot hold them. This post proves it on SQL Server 2025 with two tables and read-only checks.
Reads per Execution: Ranking Queries by Average I/O
The query with the most total reads is not always the one to tune first. Here is how to rank by cost per call and read the spread.
Is It the Database? Reading ASYNC_NETWORK_IO
Investigate ASYNC_NETWORK_IO with request and task evidence, check client consumption, and separate large outputs from network faults.
Physical Reads per Query: Finding What Drives Disk I/O
The storage team asks which query hit the disks. Here is how to answer with physical reads, and why the answer depends on how you rank them.
SQL SERVER – Table Space Allocation Details using DMV
Beyond DBCC IND and EXTENTINFO, the DMV dm_db_database_page_allocations shows table space allocation details. My friend Balmukund pointed me to it.
Azure SQL Database Wait Stats: Reading sys.dm_db_wait_stats
Read Azure SQL Database wait stats with sys.dm_db_wait_stats, identify log-rate governance, and compare resource percentages before scaling.






