Увеличение использования памяти в SQL CLR - PullRequest
1 голос
/ 08 февраля 2012

Чтобы получить общий объем памяти, используемый SQL CLR, вы должны выполнить следующий запрос:

select single_pages_kb + multi_pages_kb + virtual_memory_committed_kb from sys.dm_os_memory_clerks where type = 'MEMORYCLERK_SQLCLR'

В результате я получаю:
enter image description here

Есть лилюбой способ увеличить эту память?Если да, то как, кроме покупки больше оперативной памяти ...

1 Ответ

2 голосов
/ 08 февраля 2012

Основываясь на личном - если не слишком информированном - опыте, я почти уверен, что вы (он же "внешний пользователь") не можете контролировать, сколько памяти SQL выделяет процессам CLR.

Дополнительная информация, которая может или не может помочь здесь: существуют ограничения, соотношения и (наша большая головная боль) фрагментация памяти, назначенной с течением времени (это дни регулярного использования). Наши проблемы могут быть решены только путем остановки и перезапуска службы SQL. Опять же, я почти уверен, что не имеет значения, сколько памяти доступно на коробке, а также внутренние средства, с помощью которых SQL адресует и выделяет ее. Проблемы, которые у нас были, когда они были запутанными, запутанными, повторяющимися и очень раздражающими ... и затем, основываясь на моих исследованиях, мы обновились до 64-битной версии (SQL 2008), которая имеет совершенно разные средства адресации и распределения вся эта память, которую мы установили на коробке. Все наши проблемы исчезли, и с тех пор мне не приходилось рассматривать ситуацию.

...