У меня есть несколько вопросов касательно транзакций MS SQL.
Выполняются ли транзакции в режиме автофиксации если команда помещена в явную транзакцию. То есть
BEGIN TRANSACTION firstTran UPDATE Test1 SET Value *= 10; COMMIT TRANSACTION
Будет ли UPDATE выполнятся в отдельной подтранзакции или нет?
Какие типы команд помещаются в автофиксирующие транзакции, знаю что из DML - INSERT, UPDATE, DELETE - есть ли ещё какие-то?
Уровни изоляции транзакций влияют на то, какие блокировки накладываются на объекты, а влияют ли они отношение транзакции к другим блокировкам?
Как я понял, суть оптимистичных уровней изоляции в отсутствии блокировок в замен на загруженность tempdb. А как это пересекается с обновлениями данных - на них накладывается монопольная блокировка? Если да, то учитывают ли эту блокировку другие транзакции с тем же уровнем изоляции при чтении и обновлении?