See how table variables survive rollback to retain error details, then write a permanent error log after a failed SQL Server transaction.
Trigram Matching: Finding Similar Words With an N-Gram Table
Build trigram matching with GENERATE_SERIES and an indexed n-gram table, rank shared pieces, and compare spelling similarity with SOUNDEX.
SQL SERVER – How to Access the Previous Row and Next Row value in SELECT statement? – Part 4
Part 4 on reading the previous row and next row value in a SELECT statement. My friend Szymon Wojcik shows how a numbers table can make the query even faster.
UPDATE() in a Trigger Is True Even When Nothing Changed
Understand why UPDATE() in a trigger fires for unchanged SET values and log only real changes with inserted and deleted row comparisons.
Turning Key-Value Pairs Into Columns for Reporting
Turn key-value pairs into reporting columns with conditional aggregation and PIVOT, handle missing values and conversions.
Set Operator Rules: Column Names, Types and ORDER BY With UNION
Why did my UNION change its headers, fail on a word, or sort wrong? Small examples show each rule and the error it produces.
Single-Row Inserts in a Loop: Why Commits Cost So Much
A loop that inserts one row at a time waits for the log on every row. Here is how to see it, and three ways to wait far less.







