Кто-нибудь знает, работают ли заблокированные страницы SQL 2008 ENT R2 x64 как ON по умолчанию (я предполагаю, что это так, поскольку мое использование памяти SQL не отображается в диспетчере задач) на Server 2008 R2 x64.
И если да, может ли это привести к тому, что приложение .net, конкурирующее за некоторую память, будет иметь чрезмерные ошибки страниц?
И поэтому разумно ли ограничивать память SQL на машине?
Или все они должны просто вести себя хорошо?
Спасибо Мэтт
Изменить 25/10/2010 -
Из ERRORLOG
Больше информации -
Я установил свою машину для работы в качестве службы администратора. Я установил его рядом как новый экземпляр с существующей базой данных SQL 05 Ent.
Вот часть журнала -
Включены большие расширения страниц.
2010-10-22 21: 32: 38.78 Гранулярность большой страницы сервера: 2097152
2010-10-22 21: 32: 38.79 Выделено большой странице сервера: 32 МБ
2010-10-22 21: 32: 38.79 Выделено большой странице сервера: 32 МБ
2010-10-22 21: 32: 38.80 Сервер Использование заблокированных страниц для пула буферов.
2010-10-22 21: 32: 38.86 Сервер Использование динамического распределения блокировок. Первоначальное распределение 2500 блоков Lock и 5000 блоков Lock Owner на узел. Это только информационное сообщение. От пользователя не потребуется никаких действий.
2010-10-22 21: 32: 38.86 Разбиение на разделы Server Lock включено. Это только информационное сообщение. От пользователя не потребуется никаких действий.
Я полагаю, это подтверждает, что заблокированные страницы включены? см. комментарий об администраторе ниже.
По умолчанию этот параметр не включен на сервере. Его необходимо предоставить учетной записи, на которой запущена служба SQL, но это можно сделать автоматически через объект групповой политики.
может ли это привести к тому, что приложение .net, конкурирующее за некоторую память, будет иметь чрезмерные ошибки страниц?
Да, если включена блокировка страниц, это возможно.
И поэтому разумно ли ограничивать память SQL на машине?
Да, вы всегда должны ограничивать верхний предел памяти, который может использовать SQL Server. Это делается либо путем редактирования свойств сервера в обозревателе объектов, либо с помощью системной хранимой процедуры sp_configure.
Или все они должны просто вести себя хорошо?
Нет, SQL Server по умолчанию будет использовать всю память на сервере, не позволяя другим приложениям в системе.
Для проверки проверьте журналы SQL с момента последнего запуска, если он не включен, вы увидите:
Невозможно использовать расширения больших страниц: не предоставлена привилегия блокировки памяти.
..и, как сказал MrDenny, SQL не очень хорошо работает с другими приложениями, он предполагает, что владеет сервером, если не указано иное.
Согласно этой статье, вариант не активен по умолчанию: http://msdn.microsoft.com/en-us/library/ms190730.aspx.