Set LOCK_TIMEOUT to bound lock waits, reproduce error 1222, clean up the transaction, and retry safely without confusing client timeouts.
Loading Partitions in Parallel
Loading partitions in parallel uses separate staging tables, controlled workers, and partition switching to publish data without chaotic locks.
Locking and Blocking Quiz: Will Updating a Different Row Wait?
This Locking and Blocking Quiz asks whether an update waits when it changes a different row than an open transaction. The answer depends on the index. A two-window test on SQL Server 2025 shows the wait, the lock that causes it, and two ways to remove it.
ANSI Isolation Levels Quiz: Which Level Lets You Read Uncommitted Data?
This ANSI Isolation Levels Quiz asks which level lets one session read a price that another session has not committed. A two-window test on SQL Server 2025 shows what each level returns. It also shows how READ COMMITTED SNAPSHOT removes the wait.
Lost Updates: Optimistic Concurrency With a rowversion Column
Prevent lost updates with optimistic concurrency and a rowversion token, detect zero-row conflicts, and compare short locking transactions.
Dirty Records and Table Hints: Wait, Read Dirty, Skip or Fail
Dirty records and table hints decide what a SELECT does while another session has an uncommitted change. This post runs one update that rolls back and five readers against it: the default, READUNCOMMITTED, NOLOCK, READPAST and NOWAIT. It also shows how a database option changes the default.







