@returnZero

Как работают транзакции в конкретных случаях?

У меня есть несколько вопросов касательно транзакций MS SQL.

Выполняются ли транзакции в режиме автофиксации если команда помещена в явную транзакцию. То есть
BEGIN TRANSACTION firstTran UPDATE Test1 SET Value *= 10; COMMIT TRANSACTION


Будет ли UPDATE выполнятся в отдельной подтранзакции или нет?

Какие типы команд помещаются в автофиксирующие транзакции, знаю что из DML - INSERT, UPDATE, DELETE - есть ли ещё какие-то?

Уровни изоляции транзакций влияют на то, какие блокировки накладываются на объекты, а влияют ли они отношение транзакции к другим блокировкам?

Как я понял, суть оптимистичных уровней изоляции в отсутствии блокировок в замен на загруженность tempdb. А как это пересекается с обновлениями данных - на них накладывается монопольная блокировка? Если да, то учитывают ли эту блокировку другие транзакции с тем же уровнем изоляции при чтении и обновлении?
  • Вопрос задан
  • 53 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы