Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Вложенная транзакция / 6 сообщений из 6, страница 1 из 1
01.06.2001, 10:47
    #32006795
Sergy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вложенная транзакция
Ситуация, есть хранимая процедура в которой запускается транзакция и, в свою очеедь, внутри нее запускается вложенная транзакция. Вопрос такой: если откатывается вложенная транзакциия, не может ли получится так, что внешняя может подтвердится? В BOL написано: "Committing inner transactions is ignored by Microsoft® SQL Server™. " . Если внешняя откатится - это четко написано:"If the outer transaction is rolled back, then all inner transactions are also rolled back, regardless of whether or not the inner transactions were individually committed."
...
Рейтинг: 0 / 0
01.06.2001, 11:59
    #32006798
GreenSunrise
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вложенная транзакция
В BOL написано следующее: если rollback без имени, то откатывается все до самой внешней транзакции. Использование rollback с именем внутренней транзакции нелегально. Получается что в лоб, что по лбу - rollback можно использовать только для отката всех действий целиком.
...
Рейтинг: 0 / 0
01.06.2001, 12:06
    #32006799
Genady
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вложенная транзакция
2 GreenSunrise

Если не хотите откатывать транзакцию целиком Savepoint-ы делать нужно.
...
Рейтинг: 0 / 0
01.06.2001, 13:43
    #32006813
GreenSunrise
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вложенная транзакция
Угу. Только это уже не называется "вложенные транзакции". Это ОДНА транзакция с savepoint'ами...
...
Рейтинг: 0 / 0
01.06.2001, 13:50
    #32006814
Genady
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вложенная транзакция
> Угу. Только это уже не называется "вложенные транзакции". Это ОДНА транзакция с savepoint'ами...

А что, если я сделаю savepoint, то потом из вложенной транзакции не смогу к нему откатиться?
...
Рейтинг: 0 / 0
02.06.2001, 09:16
    #32006835
GreenSunrise
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вложенная транзакция
Genagy: мне вопрос показался непонятным. Понятие "вложенные транзакции" подразумевает то, что я могу написать следующий код:
begin tran tran1
begin tran tran2
rollback tran tran2
rollback tran tran1
Попытайтесь его выполнить. Сиквел не поймет, что от него хотят. В MS SQL именованный rollback применим только к savepoint'ам. А это уже по сути не вложенность, а линейность. Другое дело, что используя savepoint'ы, можно до известной степени смоделировать нужное поведение.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Вложенная транзакция / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]