SQL Server вызывает недоступность сервера из-за сброса памяти - PullRequest
0 голосов
/ 03 июля 2019

Я использую RTM-версию SQL Server 2017 в качестве производственной базы данных.

Сервер, на котором размещен SQL Server, имеет 8 процессоров и 32 ГБ памяти.Сервер - Windows Server 2019.

SQL Server имеет ограничения памяти, указанные ниже:

«Минимальная память сервера»: 0

«Максимальная память сервера»: 28 ГБ

Сервер имеет 17 баз данных, а общий размер базы данных составляет около 300 ГБ.

SQL Server отлично работает при повседневных операциях и не использует всю память.В рабочие часы он уходит только до 15-20 ГБ.После полуночи у меня есть задание по обслуживанию индекса (Ola hallangren), и SQL Server потребляет всю память до 28 ГБ во время этой операции с высокой нагрузкой и делает сервер недоступным (даже RDP невозможен), поэтому нам нужно перезапустить сервер с виртуальной машиныконсоль для возврата в нормальное состояние.

Вот что я нашел в SQL ErrorLog:

Недостаточно системной памяти в внутреннем пуле ресурсов для выполнения этого запроса.

FAIL_PAGE_ALLOCATION 8

PS: Resource Governer не включен.

Сегодня вечером я сам начал работу, чтобы посмотреть, чтопроисходит и осознает, что операция STATISTICS UPDATE над статистикой занимает слишком много времени и заполняет весь буферный пул до 28 ГБ, а затем вызывает дамп памяти.Статистика, которая занимает слишком много времени для обновления, относится к таблице размером 50 ГБ.

Что я хочу спросить, насколько я знаю;если SQL Server имеет максимальное ограничение памяти сервера, он потребляет память до этого предела, а затем начинает подкачку на диск.Я никогда не сталкивался с SQL Server, который не заботится о максимальном ограничении памяти.Я также проверил DBCC MEMORYSTATUS во время операции UPDATE STATISTICS и увидел, что CLERK_BUFFERPOOL увеличивается до 28 ГБ.

Любая помощь с тем, что мне не хватает?Если бы эта проблема возникла в рабочее время, я бы с удовольствием увеличил объем памяти сервера, но это происходит только во время операции обслуживания индекса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...