Показать сообщение отдельно
Старый 27.08.2008, 15:00   #1  
avlg is offline
avlg
Участник
 
3 / 10 (1) +
Регистрация: 10.08.2007
Thumbs up
вопрос к опытным оптимизаторам производительности Nav:
Имеем клиента Nav 4.0 SP3 и БД на MS SQL 2000, страдаем от эскалации блокировок и следующих за ней дедлоков. Терпимо, но неприятно

Начиная с Nav 4.0 SP2, MS добавил в таблицу $ndo$dbproperty поле hardrowlock (в интерфейсе клиента доступно через Файл->База Данных->Изменить, закладка Дополнительно, флажок "Блокировка строк - всегда").
В хелпе сказано
Цитата:
Блокировка строк — всегда: этот параметр позволяет указать, чтобы в Navision всегда использовалась блокировка на уровне строк, а не блокировка на уровне страниц и таблиц
Т.е. теоретически позволяет бороться с эскалацией блокировок ценой большего использования RAM на MS SQL. Но как именно это делается и зависит ли от версии MS SQL - не сказано.

Флажок я поставил, perfmon'ом смотрю счетчики SQLServer:MemoryManager:Lock Memory(KB) (вырос после установки флажка) и SQLServer:Locks:Number of Deadlocks/sec (вроде упал, но т.к. наблюдаю с сегодняшнего утра, выводы делать рано). Кто-нибудь имеет положительный опыт от установки данного флажка при использовании MS SQL 2000?