The instance had 128 GB of memory and the buffer pool could not hold fifteen minutes of hot data, because 41 GB of the plan cache was plans executed exactly once. Measuring single-use bloat and the three levers that actually…
Database Topic Archive
SQL Server Articles
Wait statistics, tempdb, Query Store, Always On availability groups, and SQL Server operations notes.
Every weekday at 9:05 the order system's p99 went from forty milliseconds to eleven seconds, caused by one report holding a twelve-gigabyte memory grant. How grants are sized, how to read the queue in sys.dm_exec_query_memory_grants, and how to fence the…
Setting MAXDOP to 1 because of CXPACKET waits amputates a feature to treat a symptom. NUMA-aware MAXDOP guidance, why the default threshold of 5 is ancient history, and where each setting should actually live.
The parameter was nvarchar, the column was varchar, and four million rows got converted one at a time. How CONVERT_IMPLICIT turns seeks into scans, why ORMs cause it so reliably, and where to fix it for good.
The order database froze writes for forty-one seconds at peak load because the data file grew by 32 GB and SQL Server zeroed every byte of it first. Percent-growth compounding, Instant File Initialization, and the pre-sizing discipline that makes growth…
Columnstore cut a report from four minutes to six seconds until trickle inserts rotted the rowgroups. Rowgroups, segment elimination, the deltastore lifecycle, batch mode on rowstore, and when a plain btree still wins.
The sync job double-counted rows for three weeks because someone said 'change tracking' and someone else heard 'CDC'. What each feature actually captures, what each one costs, and a four-question test for picking the right one.
The app said the database was down; the database said CPU was twelve percent and forty-three sessions were queued behind one sleeping connection holding a lock. How I walk a blocking chain to its head and decide whether to kill…
The backups had been succeeding for eight months; the restores had never been tried. FULL/DIFF/LOG chain design as an RPO/RTO contract, what silently breaks the log chain, and why only a restore drill proves anything.
The dashboard said SYNCHRONIZED while the readable secondary served twenty-minute-old data. Send queue and redo queue are different numbers; here is what each one means, what synchronous commit really guarantees, and how to measure RPO.