Inspect the SQL Server plan cache, identify single-use plans and memory use, and understand what optimize for ad hoc workloads changes.
The Previous Row Before LAG Existed: A ROW_NUMBER Self-Join
Before LAG, we numbered rows and joined each one to its neighbor. Here is how that pattern works, where ties and NULLs bite, and how LAG compares.
T-SQL Habits Worth Unlearning
Review T-SQL habits that hide intent or create avoidable work, including SELECT star, NOLOCK, row loops, and functions on filtered columns.
Load Into a Heap or a Clustered Table: Which Bulk Load Wins
Loading a heap and indexing it afterward only moves the work. Time the whole pipeline before you pick a winner.
Server Settings Worth Checking on Any New Instance
Review SQL Server configuration for memory, parallelism, tempdb, file growth, and backups before a new instance becomes a production surprise.
DENY vs REVOKE: Why a Removed Permission Still Works
You revoked a permission, but the user can still read the table. Here is why, and how DENY and REVOKE really differ.
Checking Data Compression Settings on Every Table and Index
A table is not simply compressed or not. Here is how to read the setting for each index and partition, and the mistake that leaves indexes full size.







