![]() |
#17 |
Участник
|
Запустил SQL Profiler. Посмотрел, какое значение передано. У меня получилось следующее
До запуска Axapta в таблице SysClientSessions записи начинаются со значения SessionId = 3, первая запись со значением Ststus = 0 имеет SessionId = 6 При запуске Axapta фиксируется 2 вызова ХП (Имя компьютера и SID заменил текстом) Вызов 1 @licenseType = 1 @masterId = 0 @maxClientId = 2 Код: declare @p17 int set @p17=6 declare @p18 datetime2(0) set @p18='2025-07-15 22:21:38' exec CREATEUSERSESSIONS 0, 0, 1, 6, N'vmaksimo', N'RU', N'en-us', N'ComputerName', N'SID', 5645806642, 3, 41750, 1, 0, 2, N'initial', @p17 output, @p18 output select @p17, @p18 @licenseType = 0 @masterId = 6 @maxClientId = 6 Код: declare @p17 int set @p17=10 declare @p18 datetime2(0) set @p18='2025-07-15 22:21:46' exec CREATEUSERSESSIONS 3, 1, 1, 6, N'vmaksimo', N'RU', N'en-us', N'ComputerName', N'SID', 5645806643, 3, 30000, 0, 6, 6, N'initial', @p17 output, @p18 output select @p17, @p18 Второй вызов ХП для @maxClientId = 6 тоже отработал, но потом это соединение было разорвано и у соответствующей записи возвращен Status = 0 Хм... Т.е. я был не прав. Это все-таки механизм повторного использования записи. Вопрос только в том, как значение этого параметра определяется. Вероятно, для @licenseType = 1 просто как min()-1 по всей таблице. Для @licenseType = 0 уже как-то сложнее Да, если запустить второй экземпляр Axapta не закрывая первый, то вызов будет с тем же параметром @maxClientId = 2
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... Последний раз редактировалось Владимир Максимов; 16.07.2025 в 03:04. |
|
Теги |
ax2009 |
|
|