Optimistic Isolation Levels
Optimistic transaction isolation levels were introduced in SQL Server 2005 as a new way to deal with blocking problems and to address data consistency issues. As opposed to pessimistic transaction isolation levels, with optimistic transaction isolation levels, queries read “old” committed versions of rows while accessing the data modified by the other sessions, rather than being blocked by the incompatibility of shared (S) and exclusive (X) locks.
Row Versioning Overview
With optimistic transaction isolation levels, when updates occur, SQL Server stores the old versions of the rows in a special part of tempdb ...