Показать сообщение отдельно
Старый 14.07.2025, 12:09   #6  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,715 / 1204 (44) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Штатное поведение - это как раз создание новых записей, а не использование "свободных". Если сессию перестали использовать, то она должны быть закрыта (удалена запись) и никак иначе

Там же дальше в хранимке [dbo].[CREATEUSERSESSIONS] возвращает код ошибки

X++:
select @first = min(SESSIONID) 
from SYSCLIENTSESSIONS WITH (UPDLOCK,READPAST) 
where STATUS = 0 
	and SESSIONID > @maxClientId 
	and SESSIONID <> @masterId 
	
if (select count(*) from SYSCLIENTSESSIONS where SESSIONID IN (@first)) > 0 
begin 
    (...)
     update (...)
     (...)
     select @sessionid = @first
end
else
begin 
	(...)
		select @max_val = max(SESSIONID)+1 
		from SYSCLIENTSESSIONS WITH (UPDLOCK) 
				
	if (@max_val > 65535) 
		select @sessionid = -3 
	else 
	(...)
end

Т.е. может быть только одна запись с номером сессии 65535. Номер больше создать не даст. Будет ждать, пока не уменьшат количество сессий (я смотрел в dax2012, возможно, в dax2009 этого условия нет)

В хранимке [dbo].[CREATEUSERSESSIONS] использование этих сессий - это исключение. Попытка как-то исправить проблему, передав сессию пользователю в надежде, что по завершении работы эта сессия будет корректно закрыта


Не вполне ответ на Ваш вопрос, но

Закрыть AxaptaCOMConnector из AXAPTA

В принципе, вывод тот же, что и в обсуждении https://community.dynamics.com/forum...9-a2de0b0dfa90

65535 - это предел. Максимум. Количество соединений должно быть меньше этого числа. Если соединения с номером больше этого числа вообще появились, то это ошибка. Их вообще надо отключать и сбрасывать и искать, почему такая ситуация возникла. Например, в обсуждении - это было подключение из-вне к Axapta. Ну и у меня по ссылке - тоже
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
За это сообщение автора поблагодарили: Logger (3).