Сиквельная ошибка #122273


#0 by Caligula
При выполнении внешней обработки возникает ошибочка ...в чем дело?{...xxx.ERT}: SQL State: 40001 Native: 1205 Message: [Microsoft][ODBC SQL Server Driver][SQL Server]Transaction (Process ID 57) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.
#1 by Caligula
up
#2 by Scor
Пример:2 транзакции одновременно.1-я блокирует таблицу А, затем таблицу Б.2-я блокирует таблицу Б, затем таблицу А.SQL сервер не знает что делать - откатывает одну из транзакций назад.Для той, что откатил выскакивает эта ошибка.
#3 by Sure
Блокировки, блокировки. Бывает, вываливается по таймауту. А бывает - так: "Вы самое слабое звено. Прошайте!"Что делеть? Смотреть на блокировки. И размышлять о бренности всего сущего.Способы просмотра числа блокировок и пользователей их породивших есть:http://1c.proclub.ru/modules/mydownloads/personal.php?cid=5&lid=4188 например.
#4 by Caligula
ну 2 тр-ии одновременно и что? одна подождала другую и обе выполнились ...
#5 by НикПодДавлением
а про таймаут забыл? видимо у афтара не оптимизирована обработка и таймаута по умалчанию не хватает, а вобщета в параметрах скульного серва время ожидания настраивается,
#6 by Sure
Запомни такой термин "клинч". "Смертельные объятья".Возникает, когда две транзакции захватили по ресурсу, необходимому для их выполнения и ждут, пока не освободится ещё один не менее необходимый для выполнения ресурс.На пальцах: процессу А нужны таблицы 1 и 2 для проведения транзакции.Процесс видит, что свободна таблица 1 и блокирует её. В надежде в следующий момент захватить таблицу 2.В это время появляется процесс Б, которому нужны эти же таблицы, видит, что свободна таблица 2 и блокирует её, ожидая пока освободится таблица 1.Так возникает патовая ситуация, когда ни один из процессов не хочет идти на уступки. Решается административными мерами SQL. Их проявления ты видел.
#7 by Gloom
Обе транзакции ждут друг дружку - вот тебе и deadlock. Сервер периодически мониторит блокировки и когда находит такой "смертельный захват", то откатывает наименее затратную транзакцию"таймаут" тут ни причём...
#8 by zzz
чтож там такого у него в "xxx.ERT", антиресно ..
#9 by Caligula
ну тады понятно :-) ... как бы это юзверям объяснить ... ух ты какой любопытный :-D
#10 by Caligula
Народ а подскажите че с лог файлом делать? он быстро растет :-o
#11 by Gloom
http://www.1csql.ru/materials/articles/admin/002.html
#12 by www.perlscript.ru
При использовании прямых запросов без подсказки NOLOCK такая картина может встречаться довольно часто.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С