|
|
#1 |
|
Участник
|
Sleeping сессии с незакрытой транзакцией
Приветствую!
У нас с недавних пор (уже третий релиз подряд)повадились появляться аксаптовские зомби-сессии в SQL (сессии в статусе sleeping и с незакрытой транзакцией) Появляются обычно сразу после рестарта аос и SQL Server и терроризируют в течение нескольких часов. Мы их отлавливаем и рубим. Постепенно они перестают появляться. До следующего релиза (рестарта SQL)... Зомби-сессии порождают блокировки пакетной инфраструктуры. С подобными запросами. DECLARE @res int; EXEC @res = SP_GETAPPLOCK @resource = N'BatchRunServerTaskLock', @lockmode = 'exclusive', @locktimeout = 9000; SELECT @res; А вообще сессии возникают на рандомных аосах и висят с рандомными запросами (last_query) DAX2012 6.3 Обновлений не накатывали. Настройки SQL не трогали. Полностью проверял релиз, после которого стали зомбаки появляться. Грешил на незакрытые сессии. Но не нашел таковых, как и прочего подозрительного криминала. Может кто сталкивался с подобным? Или есть идеи куда стоит покопать? |
|
|
|
|
#2 |
|
Участник
|
Это инструмент борьбы с коллизиями при работе пакетных заданий. Смотрите класс BatchRun. Различные действия вызывают данную блокировку, но они должны осуществляться быстро. Если это не так - не захламлены ли таблицы? Историю выполнения пакетных заданий тоже можно проверить.
В любом случае при выявлении аномалий стоит пользоваться инструментами анализа (дамп/трассировка). PS рекомендую свести на нет практику прерывания sql сессий - это борьба с ветряными мельницами, логично по горячим следам выявлять причину и сразу регистрировать задание на исправление. PS2 сами эти сессии не особо представляют интерес, это отдельные подключения (микротранзакции) к СУБД - сопоставьте SPID с AX Session ID. Последний раз редактировалось Товарищ ♂uatr; 19.11.2025 в 23:13. |
|
|
|
|
#3 |
|
Участник
|
Спасибо за ответ! Если правильно помню, SP_GETAPPLOCK добавили в CU13.
Пакетные таблицы не захламлены. Все регулярно чистится от старья. Сами батч-классы не трогали года два-три. Трассировка на проде с кучей аосов - такое себе удовольствие... К тому же, не совсем понятно, что отлавливать. По сути сессия SQL вместо завершения зависает в sleeping. Причем это может произойти не только с блокировкой батчей. Я привел запрос с GETAPPLOCK для примера, как наиболее частый и "напряжный" по последствиям. Сессия может повиснуть любая. Собственно интересует вопрос - что может вызывать появление подобных зомбо-сессий. Чтобы хотя бы представлять в каком направлении копать. |
|
|
|
|
#4 |
|
Участник
|
Цитата:
А уже сопоставив её с АОСом, по его дампу или трассировке (на самом деле способов больше), выяснить работа какого именно кода приводит к данной проблеме. Последний раз редактировалось Товарищ ♂uatr; 19.11.2025 в 23:24. |
|
|
|
|
Похожие темы
|
||||
| Тема | Ответов | |||
| Рабочие сессии в Ax2012 | 7 | |||
| Форма активных пользователей (SysUsersOnline) и сессии COM-коннектора | 6 | |||
|