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. 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.
This chapter explains how optimistic isolation levels are implemented and how they affect the locking behavior of the system.
Row Versioning Overview
With optimistic transaction isolation ...