Цитата:
Сообщение от
trud
Интерестный вопрос - вообще у меня было понимание что это пул сессий созданых классом Connection(т.е. при выделение номерных серий и подобного). АХ их не закрывает в процессе. Это приводит к таким эффектам - что к примеру иногда в базе tempdb создаются тысячи временных таблиц
У меня такое понимание:
1. Аксапта в целом повторно использует открытые SQL-соединения. Соединение, которое никому не пригодилось, после некоторого таймаута закрывается. При этом для оракла таймаут по умолчанию довольно большой (30 секунд, насколько я помню), а для сиквела - маленький (типа секунда). Так было сделано из за того, что в оракле, открытие нового соединения было довольно дорогим и занимало секунды 2-3. Не уверен что этот механизм пережил переход на DAX2012, в которой поддержку оракла выкосили.
2. Созданные инстанцы tempDB tables опять таки повторно используются и удаляются только в момент останова AOS. При этом эти инстанцы к сесии (которая вполне может быть закрыта) не привязаны, поскольку с точки зрения SQL Server, это не временные таблицы, а самые обычные таблицы в БД TempDB, которые вполне могут пересекать границы соединения.
Оба эти механизма интересны и достойны обсуждения, но, как мне кажется, к вопросу топик-стартера отношения не имеют. Там скорее всего и вправду завязки на серверные сесии, которые код в CIL исполняют.
(Кстати - я так подозреваю что микрософт сделал такие странные "временные таблицы которые на самом деле не временные", как раз для того чтобы таблицы можно было передавать между нормальным соединением пользователя и теми соединениями, которые из за CIL порождаются).