Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 не откатилась транзакция  [new]
незадача с транзакцией
Guest
Вот у меня такая проблема.

Блок try-catch, внутри в транзакции выполняется код, если ошибка, в блоке catch идет откат транзакции.
Все как и полагается, делал много раз.

Вот я описался в названии талблицы и у меня во время выполнения скрипта сгенерировалась ошибка.
При этом транзакция не откатилась, а сделанные изменения (до запроса с битым названием таблицы) вступили в силу.

Как такое может быть?
8 апр 13, 13:15    [14150966]     Ответить | Цитировать Сообщить модератору
 Re: не откатилась транзакция  [new]
Glory
Member

Откуда:
Сообщений: 104751
незадача с транзакцией
Как такое может быть?

Вы хотите сказать, что при выполнении rollback transaction произшла фиксация транзакции, а не ее отмена ?
8 апр 13, 13:17    [14150976]     Ответить | Цитировать Сообщить модератору
 Re: не откатилась транзакция  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31950
незадача с транзакцией
Вот я описался в названии талблицы и у меня во время выполнения скрипта сгенерировалась ошибка.
При этом транзакция не откатилась, а сделанные изменения (до запроса с битым названием таблицы) вступили в силу.

Как такое может быть?
Ошибки компиляции не ловятся в try-catch. Долже был прерваться батч, и откат должен быть снаружи (у вас там нету коммита?). Ну и варианты волзможны, может, у вас динамический SQL?
8 апр 13, 13:17    [14150980]     Ответить | Цитировать Сообщить модератору
 Re: не откатилась транзакция  [new]
незадача с транзакцией
Guest
Glory,

да
8 апр 13, 13:21    [14151013]     Ответить | Цитировать Сообщить модератору
 Re: не откатилась транзакция  [new]
Glory
Member

Откуда:
Сообщений: 104751
незадача с транзакцией
Glory,

да

Извините, но не верю.
Я думаю, что выполнение вашего пакета было прервано. А далее ваш другой код зафиксировал транзакцию.

Сообщение было отредактировано: 8 апр 13, 13:23
8 апр 13, 13:21    [14151017]     Ответить | Цитировать Сообщить модератору
 Re: не откатилась транзакция  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
Можно попробовать
SET XACT_ABORT ON
По крайней мере после ошибки всё должно откатиться
8 апр 13, 13:22    [14151025]     Ответить | Цитировать Сообщить модератору
 Re: не откатилась транзакция  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31950
iap
Можно попробовать
SET XACT_ABORT ON

По крайней мере после ошибки всё должно откатиться
Ага, это поможет
или откатывать снаружи, не коммитить всё что попадётся
8 апр 13, 13:27    [14151052]     Ответить | Цитировать Сообщить модератору
 Re: не откатилась транзакция  [new]
незадача с транзакцией
Guest
iap,

вот это помогло.
8 апр 13, 13:30    [14151080]     Ответить | Цитировать Сообщить модератору
 Re: не откатилась транзакция  [new]
незадача с транзакцией
Guest
ок, всем огромное спасибо!
8 апр 13, 13:32    [14151095]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить