С уровнями изоляции транзакций SQL Server вы можете избежать некоторых нежелательных проблем параллелизма, таких как грязное чтение и т. Д.
Меня сейчас интересует потерянные обновления - факт, что две транзакции могут перезаписывать обновления друг друга, и никто этого не заметит. Я вижу и слышу противоречивые утверждения относительно того, какой уровень изоляции я должен выбрать как минимум, чтобы этого избежать.
Кален Делейни в своей книге «Внутреннее устройство SQL Server» говорит (Глава 10 - Транзакции и параллелизм - стр. 592):
В изоляции «Чтение незафиксированных» все действия, описанные ранее, , кроме потерянных обновлений , возможны.
С другой стороны, независимый инструктор по SQL Server, предоставивший нам класс, сказал нам, что нам нужно как минимум «Repeatable Read», чтобы избежать потери обновлений.
Так кто же прав ?? А почему ??