Here’s a story that teaches a real-world lesson from those internals. The Case of the Midnight Slowdown
UPDATE STATISTICS Orders; The plan switched to an index seek. The ETL dropped to 12 minutes. Good, but not great. Why not 8 minutes? Alex dug deeper. During the ETL, he monitored:
That open transaction was preventing the transaction log from truncating. The log had grown to 200 GB. The ETL’s large update inside FactSales_Load had to wait for log space, causing log autogrowth events (zero-initialization → slow). Guru Guide To Sql Server Architecture And Internals.pdf
Index stats were stale. The query optimizer thought the scan was cheaper because it didn’t know the table had grown massively since the last stats update.
Alex updated stats:
The transaction log is a circular log. It can’t reuse space if any active transaction holds onto a VLFL (virtual log file) even if it’s old.
Alex killed the orphaned transaction (after confirming with the dev), shrunk the log safely, and set up alerting for long-running open transactions. Here’s a story that teaches a real-world lesson
He ran:
I can’t directly open or read the contents of a specific PDF file like Guru Guide To SQL Server Architecture And Internals.pdf . However, I can give you a based on the typical themes found in that book—focusing on SQL Server’s core architecture (query processor, storage engine, buffer pool, transaction log, and locking). Good, but not great
The buffer pool is a shared resource. Morning report’s KEEP hints or large scans polluted the cache.