The error log says nothing, but the connectivity ring buffer may remember. Here is how to read it and what it cannot tell you.
Status Changes Only: Collapsing Repeated Rows With LAG
Hundreds of repeated readings, three real changes. Here is how LAG finds them, and why a plain not-equal test quietly drops rows.
Self-Referencing Foreign Keys: Managers, Employees and Deletes
Delete a manager and SQL Server says no, which is good. See how to reassign reports safely and how to catch loops the foreign key allows.
Line Endings: CHAR(13), CHAR(10) and Files From Other Systems
Why does a value that looks perfect fail a compare? Because of a line ending you cannot see. Five small demos make it visible.
Normalisation in Plain Words, and When to Stop
Understand normalisation through one order example, then decide when a reporting copy is worth the cost of keeping duplicated data consistent.
WHILE 1 = 1 Loop in T-SQL: Run Forever, Stop Safely
A WHILE 1 = 1 loop never ends on its own, so every one needs a planned exit. This post builds a once-a-second sampler with three ways out, a stop flag, a round limit and a time limit, then shows how to stop a loop from a second window and what the recursion limit does.
Recovery Model Insert Test: FULL vs SIMPLE Under Load
A recovery model insert test compares FULL and SIMPLE under a load of 16 connections. The log written is almost the same in both, and the elapsed time depends more on the server than on the model. The real difference is when the log can be reused, and this post shows that step by step.







