Send thousands of rows in one call with table-valued parameters, compare round trips, and handle missing column statistics accurately.
SQL SERVER – Disk Space Monitoring – Detecting Low Disk Space on Server
A common question I get: how do you go about detecting low disk space on SQL Server? Here are two ways, including xp_fixeddrives, and the one I prefer.
Record Checkout in SQL Server: A Visible Lock With an Expiry Time
Record checkout puts the name of the editor and an expiry time on the row, so a screen can show who has it. This post builds it with one UPDATE and proves it with two sessions that race for 2,000 rows. A check-then-update version gives some rows two winners, and the one-statement version never does. It also covers expired locks, late saves and check-in. Every result comes from SQL Server 2025.
Reordering a List in SQL Server: Move One Row, Write One Row
Reordering a list in SQL Server means changing a sort key, and the best design writes the fewest rows. This post compares three designs for dragging an item to a new place: renumber everything, shift the rows in between, and leave gaps. Each one is measured by rows written on a list of 1,000 items. Every result comes from SQL Server 2025.
DROP IF EXISTS and CREATE OR ALTER for Iterative Deployments
Run your deployment script twice and see what survives. A short demo shows why CREATE OR ALTER keeps permissions and drop and create does not.
Finding Encrypted Stored Procedures Before a Migration
Inventory encrypted stored procedures and other modules before migration, then recover their approved source and dependencies.
SQL SERVER – How to INSERT data from Stored Procedure to Table – 2 Different Methods
How do you INSERT data from stored procedure results into a table? I show 2 methods: one when the table exists and one when it is created at run time.






