NOLOCK with DMVs is not a blanket reassurance against monitoring waits. A customer asked about omitting the hint.
Aggregate Pushdown: Letting the Columnstore Scan Do the Summing
Verify aggregate pushdown in columnstore scans, inspect locally aggregated rows, and compare numeric aggregates with expressions.
SQL SERVER – Get Last Restore Date
I report Restore Date from the latest retained msdb history row. My earlier query returned every matching entry.
Reclaim Space After Dropping a Column With DBCC CLEANTABLE
To reclaim space after dropping a column, run DBCC CLEANTABLE or rebuild the index. This post measures both on a demo table and shows that CLEANTABLE shrinks the rows while only a rebuild returns the pages.
SQL SERVER – Easiest Way to Copy All Stored Procedure Definitions
Object Explorer Details helps copy procedure definitions through SSMS scripting. I select the procedures and review the generated script before execution.
Agent Job After Another Job: Start the Next Job on Success
To run an Agent job after another job, end the first job with a step that calls sp_start_job for the second. This post builds the pair, reads the steps back from msdb, and explains what the call waits for and what happens when the second job is busy.
Deny Drop Permission for a Table in SQL Server
To deny drop permission for a table, deny ALTER on its schema, because DENY DELETE only stops row deletes. This post tests both on a demo database and shows what each deny blocks and what it leaves open.







