Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Между BIGIN TRAN и COMMIT TRAN / 8 сообщений из 8, страница 1 из 1
09.10.2002, 00:28:11
    #32056570
Smile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Между BIGIN TRAN и COMMIT TRAN
Всегда ли при возникновении ошибки между BIGIN TRAN и COMMIT TRAN выполняется откат транзакции? А то прочитал, что если вставлять в таблицу записи несколькими INSERT-ами, которые между BIGIN TRAN и COMMIT TRAN, то если возникает ошибка в одном инсерте (например, нарушение уникальности), то это не означает, что произойдет откат и остальные инсерты не выполнятся. Не выполнится только тот, на котором произошла ошибка. Есть ли еще подобные ситуации?
...
Рейтинг: 0 / 0
09.10.2002, 10:01:05
    #32056620
ziktuw
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Между BIGIN TRAN и COMMIT TRAN
Сие прямо зависит от настройки SET XACT_ABORT
...
Рейтинг: 0 / 0
09.10.2002, 14:06:04
    #32056740
Hibernate
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Между BIGIN TRAN и COMMIT TRAN
еще есть зависимость (какая?) от серъезности ошибки. Я постоянно нарываюсь на ситуацию, когда между Begin tran и commit tran возникает ошибка синтаксиса, то процедура завершается сразу, без выполнения каких-либо операторов, в том числе и операторов RallBack или Commit. И эта транзакция висит, пока не прибить коннекшн, после чего все откатывается до оператора Begin Tran
...
Рейтинг: 0 / 0
09.10.2002, 14:48:09
    #32056762
Makc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Между BIGIN TRAN и COMMIT TRAN
2 Hibernate:
В хп после каждой команды t-sql анализируй @@error и если <>0 откатывай транзакцию.
...
Рейтинг: 0 / 0
09.10.2002, 15:33:46
    #32056780
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Между BIGIN TRAN и COMMIT TRAN
Ещё, по моему, при RallBack в триггере завершается весь батч.
А Makc правильно сказал.
...
Рейтинг: 0 / 0
09.10.2002, 15:54:37
    #32056795
ziktuw
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Между BIGIN TRAN и COMMIT TRAN
2 Hibernate

Такое может происходить только если объявление транзакции и остальное (где возникает синтаксическая ошибка) находятся в разных батчах. Отсюда простой вывод - объявление транзакций, работа в ней и её завершение должно быть в одном батче (или в одной процедуры). И буде тебе счастье.
...
Рейтинг: 0 / 0
10.10.2002, 11:41:24
    #32056965
Hibernate
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Между BIGIN TRAN и COMMIT TRAN
я в легком шоке - еще пол-года назад, описанная мною ситуация возникала, а сейчас специательно попробовал - воспроизвести не получилось транзакция не зависает!!!!

Хотя именно на это я списывал нерегулярные зависания транзакций... Бум искать другую причину...
...
Рейтинг: 0 / 0
13.10.2002, 23:15:51
    #32057784
Smile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Между BIGIN TRAN и COMMIT TRAN
4 Dankov

SET XACT_ABORT в 6.5 помоему нет.

А если его нет, то зачем тогда вообще использовать в этом конкретном случае begin-commit, если все равно после каждого инсерта нужно проверять на случай ошибки и делать откат
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Между BIGIN TRAN и COMMIT TRAN / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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