1071
Chapter 47: Managing Transactions, Locking, and Blocking
47
SQL Server 2005 introduced two additional row versioning ”SQL Server 2005 introduced row
versioning, “ which enables two levels of optimistic transaction isolation: Snapshot, and
Read Committed Snapshot. All six transaction isolation levels are listed in Table 47-3 and
then detailed in this section.TABLE 47-3 ANSI-92 Isolation LevelsIsolation Level Table Hint Dirty Read NonRepeatable Read Phantom RowReader/
Writer
BlockingThe
Tr an s ac tion
isolation level
is set for the
connection.Table Hints over-
ride the connec-
tion’s transaction
isolation level.Seeing
another
transac-
tion’s non-
committed
changes.The same
query read-
ing differ-
ent data
in a
transaction.Seeing
additional
rows
selected
by where
clause as a
result of
another
transac-
tion.A write
transac-
tion blocks
a read
transac-
tion.Read
Uncommitted
(least
restrictive)NoLock,
ReadUncommittedPossible Possible Possible YesRead
Committed
(SQL Server
default; mod-
erately
restrictive)ReadCommitted Prevented Possible Possible YesRepeatable
ReadRepeatableRead Prevented Prevented Possible YesSerializable
(most
restrictive)Serializable Prevented Prevented Prevented YesSnapshot Prevented Prevented Possible NoRead
Committed
SnapshotPrevented Possible Possible Noc47.indd 1071c47.indd 1071 7/31/2012 10:23:30 AM7/31/2012 10:23:30 AM
http://www.it-ebooks.info