Нужно пояснить нижеприведенный запрос. При совершении внешней транзакции T строка уже удалена вложенной транзакцией. Но при этом выбирается и отображается значение с идентификатором 2.SQL Вложенные транзакции
BEGIN TRAN T
SELECT * from tbl_types where ID=2
BEGIN TRAN nested
DELETE from tbl_types where ID=2
COMMIT TRAN nested
COMMIT TRAN T
См [план выполнения] (http://sqlfiddle.com/ #! 6/79e37/9/0), это нормальный последовательный порядок – lad2025
Речь идет о «грязном чтении». Рассмотрите возможность чтения http://stackoverflow.com/questions/20840/sql-server-dirty-reads-pros-cons –