Назад | Перейти на главную страницу

Экспресс-выгрузка SQL 2008 из-за нехватки памяти

У меня есть экземпляр SQL Express 2008, работающий как бэкэнд для небольшого веб-приложения на сервере.

Характеристики сервера: Windows 2003, 64-битный четырехъядерный процессор, 4 Гб оперативной памяти

База данных SQL занимает всего 50 МБ на диске, и я никогда не видел, чтобы процесс SQL использовал более 200 МБ оперативной памяти в диспетчере задач, но я замечаю эти сообщения, связанные с проблемами памяти, в журналах SQL.

Домен приложения 2 (mssqlsystemresource.sys [время выполнения] .1) помечен для выгрузки из-за нехватки памяти.

Есть идеи, что могло вызвать это?

Не доверяйте диспетчеру задач! Посмотрите на счетчики perfmon, чтобы узнать, сколько памяти действительно использует SQL Server.

Вы используете связанные серверы? Взгляните на эти темы / статьи:

Форум MSDN: домен приложения отмечен для выгрузки из-за нехватки памяти

SQL Monster: AppDomain отмечен для выгрузки из-за нехватки памяти

Блог PSS SQL: если вы используете запросы связанного сервера, вам необходимо прочитать это

Также эти статьи базы знаний:

Экспресс-версия использует искусственно наложенное самоограничение памяти и процессора. Он не будет расширять свой буферный пул более чем на 1 ГБ и не будет создавать более одного планировщика (т.е. будет использовать только одно ядро). В результате, независимо от того, сколько у вас физической оперативной памяти, ваша система может испытывать нехватку памяти. Поскольку некоторые типы данных SQL реализованы в CLR (например, география и геометрия), это давление памяти может вытеснить домены приложений, в которых размещены эти типы систем (следовательно, домены приложений находятся в mssqlsystemresource).