26.11.2002, 16:11 | #1 |
Moderator
|
Isolation Level (Знатокам SQL)
Добрый день.
Если открыть Enterprise Manager -> Management -> Locks/Object -> Рабочая база Аксапты. Постоянно висят блокировки - Last TSQL command batch: SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED Кто нибудь знает, к чему бы это ? Интересует не сам механизм блокировок(это я ароде понимаю), а кто, когда и зачем это делает ? Как я понимаю это делает Аксатпа. Она устанавливает уровень изоляции равным незавершенному чтению. А зачем ? Или это нормальный(рабочий) режим работы Аксапты ? Почему ? Короче одни вопросы. |
|
28.11.2002, 10:49 | #2 |
MCTS
|
Кто : AOS
Когда : После отключения трёхуровневого тонкого клиента Зачем : Сохраняет соединения, чтобы уменьшить время входа в систему следующего пользователя (и загрузить сервер БД ) Что делать : Заметных влияний на работу системы не замечено (пока). Можно "поиграть" параметрами Connection idle time-out на закладке SQL в настройках AOS. Но сомневаюсь, что сильно поможет... |
|
28.11.2002, 11:09 | #3 |
Moderator
|
Хм. Если я правильно тебя понял, ты описываешь механизм пула коннектов - чтобы для каждого клиента не создавать коннект заново, AOS не уничтожает освободившиеся, а держит несколько про запас.
А какое это имеет отношение к уровню изоляции ? Вернее, какое отношение имеет уровень изоляции к пулу коннектов ? |
|
28.11.2002, 11:38 | #4 |
Модератор
|
Я периодически вижу в профайлере при гулянии по двум datasource-ам вещи вроде
select ... from DetailTable (UPDLOCK), .. where ... это при том, что никакого обновления в этот момент я не делаю и не собираюсь Странная логика. Может быть, то, что ты видишь, это защита от таких вот блокировок? а SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED в профайлере регулярно проскакивает |
|
28.11.2002, 12:49 | #5 |
MCTS
|
Цитата:
А какое это имеет отношение к уровню изоляции ? Вернее, какое отношение имеет уровень изоляции к пулу коннектов ?
__________________
Удачи. |
|
28.11.2002, 12:54 | #6 |
Moderator
|
Цитата:
Уменьшить вероятность блокировок, возможно вызываемых (т.е если были снять, если не было не допустить), открытым соединением.
А чтобы снять старые блокировки достаточно поддтвердить/откатить все открытые транзакции, что и делается при закрытии сеанса Аксапты. Или я ошибаюсь ? |
|
28.11.2002, 13:03 | #7 |
MCTS
|
Цитата:
поддтвердить/откатить все открытые транзакции, что и делается при закрытии сеанса
Я полагаю, можно рассматривать эту команду как дополнительную меру предосторожности со стороны Аксапты.
__________________
Удачи. |
|
|
|