Материал: Л-6 - Сеансы, транзакции и блокировки

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Изменение @@TRANCOUNT при откате

Оператор BEGIN TRAN увеличивает число транзакций на 1. Оператор ROLLBACK очищает значение переменной @@TRANCOUNT , т. к. все активные транзакции отменены.

Точки сохранения

Концепция точек сохранения привносит в транзакции дополнительный уровень гранулярности. Позволяет определить в транзакции именованную метку (как правило, после выполнения ключевой инструкции).

Если после установки точки сохранения произойдет какой-либо сбой, то откат будет выполнен не до начала транзакции, а до этой точки сохранения.

Явные инструкции COMMIT (равно как и неявные, выполняемые до и после инструкции DDL) освобождают память от информации о точках сохранения.

Использование точки сохранения (1)

Использование точки сохранения (2)

Проблема потерянных обновлений (Lost Update)

Если пользователи параллельно обновляют одни и те же данные, то запомнится обновление, проведенное последним. Остальные будут потеряны.