SQL Server Interview Question #247
What is a non-repeatable read?
Advanced Transactions & Concurrency Senior Advanced
Detailed Explanation
A non-repeatable read occurs when a transaction reads a row, another transaction commits a modification to that row, and the first transaction reads it again and receives different values.
READ COMMITTED can allow this because shared locks used by an individual statement may be released before the transaction ends. REPEATABLE READ prevents other transactions from modifying rows already read until the transaction completes.
Whether this anomaly matters depends on the business operation.