Skip no-op updates with NULL-safe EXCEPT or IS DISTINCT FROM, inspect affected counts, and avoid unnecessary rowversion and trigger changes.
Nullable Columns in a Database: List Them and Count NULLs
Nullable columns in a database cost you ISNULL calls and OR IS NULL conditions in every query. This post lists them with a catalog query, compares the INFORMATION_SCHEMA version, and counts the real NULLs in each column. The count tells you which columns can become NOT NULL and which can go.
Queries Waiting for Memory: Read the Grant Counters
Queries waiting for memory are counted by the Memory Grants Pending counter and listed by sys.dm_exec_query_memory_grants. A tested demo holds a sort grant of 41,848 KB with a blocked query and reads it from the view. The post explains how to spot a waiting request and what causes the wait.
Task Manager Update Speed: Why the CPU Graph Looks Stuck
Task Manager update speed controls how often the CPU graph moves. When it is set to Paused, the graph freezes and a normal server can look like it has a CPU problem. This post shows the fix and a five second test in T-SQL that tells you whether the graph is alive.
STATISTICS TIME and IO: Turn Them On for Every SSMS Query
To get STATISTICS TIME and IO for every query, tick two boxes in the SSMS options once instead of typing SET STATISTICS in each window. This post builds a small demo, reads the output line by line, shows that a SELECT and an UPDATE both report their cost, and explains which windows the option affects.
Procedure Recompilation: Force a New Plan in SQL Server
Procedure recompilation builds a new plan without changing the procedure. A tested demo compares EXEC with WITH RECOMPILE and sp_recompile on a skewed table, with 100,089 reads on a stale plan and 348 on a fresh one. It also shows that sp_recompile removes every cached plan of the procedure.







