Handle duplicate key errors 2627 and 2601 in TRY CATCH, preserve unexpected errors, and avoid racing existence checks during inserts.
OS Thread of a Session: Map Session ID to Windows Thread ID
To find the OS thread of a session, join sys.dm_os_tasks to sys.dm_os_threads on the worker address. This post reads the map for your own session and for every user session. It explains why idle sessions have no row, why parallel queries have several, and how to follow a thread in Performance Monitor.
sys.dm_exec_valid_use_hints: Every USE HINT Your Server Knows
sys.dm_exec_valid_use_hints lists every USE HINT name that your SQL Server accepts. This post groups the 35 names on SQL Server 2025 and shows the compile error for a misspelled hint. It applies two hints and reads the plan to prove each one worked, then compares USE HINT with QUERYTRACEON.
JDBC and sendStringParametersAsUnicode: The Hidden Index Scan
Diagnose sendStringParametersAsUnicode conversions, align JDBC parameters with varchar indexes, and preserve required Unicode data.
SQL Puzzle – SELECT ~ 1 : Guess the Answer
SELECT ~ 1 returns -2 because the tilde is the bitwise NOT operator and flips all 32 bits of an int. This post keeps the puzzle, tests the answer on SQL Server 2025 with five data types and shows where the tilde is useful.
NOT IN With a NULL in the List Returns No Rows
See why NOT IN with a NULL returns no customers, then compare five sample rows, NOT EXISTS, an IS NOT NULL filter, and query plans.
Threads With Zero Rows in a Parallel Plan, Measured
A parallel plan can show threads with zero rows, and that is normal. This post reads the per-thread row counters of two real plans on SQL Server 2025 and shows where the empty threads come from. It also says when an empty thread points to a real problem.







