Как уменьшить подкачки память буферного пула в 64-разрядной версии SQL Server

Переводы статьи Переводы статьи
Код статьи: 918483 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Аннотация

Microsoft SQL Server выполняет динамическое управление памятью в соответствии с требованиями памяти текущей нагрузки и действий в системе. В Windows Server 2003 или Windows XP или более поздней версии системы SQL Server может использовать механизмы уведомлений памяти, предоставляемые интерфейсом QueryMemoryResourceNotification Windows API. В системе на базе Microsoft Windows 2000 Server SQL Server периодически вычисляет свободной физической памяти в системе с помощью собственного API-Интерфейса Windows. На основе этой информации из QueryMemoryResourceNotification Windows API или расчет памяти SQL Server реагирует на текущую ситуацию памяти в определенной системе. Это обеспечивает следующие преимущества:
  • Система не постраничный вывод рабочего набора процесса SQL Server.
  • Базы данных, необходимые страницы доступны в памяти для уменьшения потребностей физического ввода-вывода.
Дополнительные сведения содержатся в разделе «динамическое управление памятью» и в разделе «Параметры памяти сервера» в электронной документации по SQL Server.

Проблема

В 64-разрядные версии SQL Server могут возникнуть различные проблемы. Например могут возникнуть следующие проблемы:
  • Внезапно снижается производительность SQL Server.
  • Компьютер, на котором запущен SQL Server перестает отвечать на короткое время.
  • Ожидания для приложений, которые подключаются к SQL Server.
  • Проблемы возникают при выполнении простейших команд или использовать приложения в системе.
Если установлен SQL Server 2005 с пакетом обновления 2 (SP2) или более поздней версии, одно из следующих сообщений об ошибке регистрируется в журнале ошибок SQL Server при возникновении этих проблем.
Сообщение об ошибке 1
время и дата spid1s a значительную часть памяти процесса sql server была записана. Это может привести к снижению производительности. Длительность: 0 секунд. Рабочий набор (КБ): 1086400, зафиксированных данных (КБ): 2160928, степень использования памяти: 50%.
Сообщение об ошибке 2
время и дата spid1s a значительную часть памяти процесса sql server была записана. Это может привести к снижению производительности. Длительность: 315 секунд. Рабочий набор (КБ): 410156, зафиксированных данных (КБ): 2201296, степень использования памяти: 18%.
Сообщение об ошибке 3
время и дата spid1s a значительную часть памяти процесса sql server была записана. Это может привести к снижению производительности. Длительность: 646 секунд. Рабочий набор (КБ): 901904, зафиксированных данных (КБ): 2215752, степень использования памяти: 40%.
Кроме того известная проблема в SQL Server, в котором появляется экземпляр данного сообщения об ошибке. Сообщение об ошибке регистрируется в журнале ошибок SQL Server во время запуска SQL Server. Сообщение об ошибке может быть false предупреждение. Таким образом это может не указывать фактически произошло подрезки рабочего набора. Для получения дополнительных сведений посетите следующий веб-узел корпорации Майкрософт:
http://blogs.MSDN.com/psssql/Archive/2009/05/12/SQL-Server-Reports-Working-Set-Trim-warning-Message-during-Early-Startup-Phase.aspx
Группа поддержки Microsoft SQL Server также было обнаружено, сообщения об ошибках или предупреждений, которые записываются в журнал ошибок SQL Server или в журнале событий Windows. Эти сообщения выглядеть следующим образом:
2009-05-05 15:43:56.01 Server      Resource Monitor (0x13c43) Worker 0x0412C1E8 appears to be non-yielding on Node 0. Memory freed: 34152 KB. Approx CPU Used: kernel 171 ms, user 140 ms, Interval: 125093.

2009-05-05 12:54:52.18 Server      * *******************************************************************************
2009-05-05 12:54:52.18 Server      * BEGIN STACK DUMP:
2009-05-05 12:54:52.18 Server      *   05/05/08 12:54:52 spid 0
2009-05-05 12:54:52.18 Server      * Non-yielding Resource Monitor
2009-05-05 12:54:52.18 Server      * *******************************************************************************

2009-06-10 09:13:53.44 Server      * *******************************************************************************
2009-06-10 09:13:53.44 Server      * BEGIN STACK DUMP:
2009-06-10 09:13:53.44 Server      *   06/10/09 09:13:53 spid 0
2009-06-10 09:13:53.44 Server      * Non-yielding IOCP Listener
2009-06-10 09:13:53.44 Server      * *******************************************************************************

2009-06-10 09:13:55.85 spid2s      LazyWriter: warning, no free buffers found.

2009-07-15 13:27:45.35 spid4s      AppDomain xx (SQLCLR.dbo[runtime].xx) is marked for unload due to memory pressure.
2009-07-15 13:27:45.35 spid4s      AppDomain xx (SQLCLR.dbo[runtime].xx) unloaded.

2009-07-15 13:37:51.42 Logon       Error: 17189, Severity: 16, State: 1.
2009-07-15 13:37:51.42 Logon       SQL Server failed with error code 0xc0000000 to spawn a thread to process a new login or connection. Check the SQL Server error log and the Windows event logs for information about possible related problems. [CLIENT: xx.xxx.xx.xx]

Event Type:	Error
Event Source:	SQLBrowser
Event ID:	8
Description: The SQLBrowser service was unable to process a client request. 
Эти предупреждения или сообщения об ошибках могут отображаться вместе с ошибкой «значительную часть памяти процесса sql server была записана» сообщения. В нескольких случаях эти сообщения об ошибках или предупреждения не перечислен вместе с сообщением об ошибке.

Если одно из этих сообщений об ошибках или предупреждения, рассмотрите возможность SQL Server работает разбиение по страницам набора, описанное в данной статье, одной из возможных причин, но не единственная причина. Из-за различных условий и причин может быть занесено эти сообщения об ошибках или предупреждения.

Причина

Эта проблема возникает, если страницы операционной системы Windows out рабочего набора процесса SQL Server.

Эти сообщения об ошибках регистрируются, когда рабочий набор процесса SQL Server достигает 50 процентов или меньше памяти, которая стремится к процессу SQL Server. Эти сообщения об ошибках можно использовать для определения случай, в котором SQL Server производительность существенно снижается, так как страницы операционной системы Windows out рабочего набора процесса SQL Server. Кроме того эти сообщения об ошибках регистрируется каждые пять минут в течение первых 30 минут. После первых 30 минут частоты эти сообщения об ошибках удваивается до частоты достигает более одного дня.

При возникновении этой проблемы, можно заметить, что рабочее множество других приложений в системе также постраничный вывод в одно время.
Для получения дополнительных сведений посетите следующий веб-узел корпорации Майкрософт:
http://blogs.MSDN.com/psssql/Archive/2007/05/31/the-SQL-Server-Working-Set-Message.aspx

Временное решение

Прежде чем пытаться обойти эту проблему, выполните действия в разделе «Способы устранения этой проблемы» для решения этой проблемы.

Если проблема сохранилась, можно запретить операционной системе Windows подкачку память буферного пула процесса SQL Server путем блокирования памяти, выделенной для буферного пула в физической памяти. Назначая блокировки памяти Блокировка страниц в памяти пользователю права учетной записи пользователя, используемое в качестве стартовой учетной записи службы SQL Server.

Примечание Для 64-разрядных выпусков SQL Server, можно использовать только SQL Server Enterprise Edition Блокировка страниц в памяти права пользователя. Это применимо для SQL Server 2005 [RTM, SP1, SP2, SP3] и SQL Server 2008 [RTM и SP1]. SQL Server 2008 с пакетом обновления 1 накопительного обновления 2 и SQL Server 2005 SP3 накопительное обновление 4 внедрить поддержку выпуски SQL Server Standard для использования Блокировка страниц в памяти права пользователя. Для получения дополнительных сведений о поддержке заблокированных страниц на 64-разрядных системах щелкните следующий номер статьи базы знаний Майкрософт:
970070Поддержка Закрепление страниц в SQL Server 2005 стандартный выпуск 64-разрядных системах и на SQL Server 2008 стандартный выпуск 64-разрядных систем
Для назначения Блокировка страниц в памяти право, выполните следующие действия.
  1. Нажмите кнопку Начало, нажмите кнопку Запустить, TYPE gpedit.msc, а затем нажмите кнопку ОК.

    Примечание ВГрупповая политика Появится диалоговое окно.
  2. Разверните узел Компьютер Конфигурация, а затем разверните узел Параметры Windows.
  3. Разверните узел Параметры безопасности, а затем разверните узелЛокальные политики.
  4. Нажмите кнопку Назначение прав пользователя, а затем дважды щелкните значок Блокировка страниц в память.
  5. В Параметр локальной политики безопасностидиалоговое окно, нажмите кнопку Добавление пользователя или группы.
  6. В Выберите пользователей или группы диалоговое окно, Добавьте учетную запись, имеющую разрешение на запуск файла Sqlservr.exe и нажмите кнопкуОК.
  7. Закрыть Групповая политика диалоговое окно.
  8. Перезапустите службу SQL Server.
После назначения Блокировка страниц в памяти права пользователя и перезапустите службу SQL Server, операционная система Windows больше не обрабатывать страницы за память буферного пула в SQL Server. Тем не менее операционной системы Windows можно по-прежнему постраничный вывод памяти пула nonbuffer внутри процесса SQL Server.

Чтобы проверить, убедившись в том, что следующее сообщение об ошибке записывается в журнал ошибок SQL Server при запуске, что право пользователя используется экземпляром SQL Server:
Использование блокированной страницы для буферного пула
Это сообщение относится только к 64-разрядных выпусков SQL Server. Для получения дополнительных сведений о это сообщение в ЖУРНАЛ посетите следующий веб-узел корпорации Майкрософт:
http://blogs.MSDN.com/psssql/Archive/2007/10/18/Do-i-have-to-Assign-the-LOCK-Privilege-for-Local-System.aspx
Когда страницы операционной системы Windows out пула памяти nonbuffer, по-прежнему могут возникнуть проблемы с производительностью. Однако в журнале ошибок SQL Server не регистрируются сообщения об ошибках, приведенные в разделе «Проблема». Такое поведение обусловлено рабочего набора процесса SQL Server обычно не достигают 50 процентов или меньше выделенной памяти.

Дополнительная информация

Устранение данной проблемы

Чтобы устранить эту проблему, выполните следующие действия:
  1. Для устранения известных проблем, которые вызывают операционной системы Windows на страницы вне рабочего множества процесса SQL Server, примените исправления, описанные в следующих статьях базы знаний Майкрософт.

    Примечание Исправления являются накопительными. Более поздняя версия исправления содержит более ранних версиях этого исправления.
    • Корпорация Майкрософт обнаружил проблему, которая может приводить 64-разрядной версии SQL Server рабочего набора для усечение. Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:
      905865Размеры рабочих наборов всех процессов в сеансе консоли может усекаются при использовании служб терминалов на входе или выходе из компьютера под управлением Windows Server 2003
    • Компьютеры под управлением Windows Server 2003 может быть слишком интенсивный, когда они в кэше Если приложение выполняет буферизованный ввод-вывод в формате грязные буферы Операция копирования. Это поведение может вызвать рабочего набора в SQL Server для обрезки. Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:
      920739При копировании файлов, размер которых превышает приблизительно 500 МБ в Windows Server 2003 или Windows Server 2003 С наблюдается снижение общей производительности системы
    • SQL Server рабочего набора может обрезаны, когда система использует некоторые дополнительные функции TCP. Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:
      942861Приложение подключается к SQL Server на сервере под управлением Windows Server 2003 появляется сообщение об ошибке: «Ошибка общие сети», «Ошибка соединения» или «Ошибка уровня транспорта»
    • На многопроцессорных компьютерах под управлением Windows Server 2003 системный процесс может использовать большую часть доступной системной памяти. Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:
      942486Системный процесс может использовать большую часть доступной системной памяти на многопроцессорных компьютерах под управлением Windows Server 2003
  2. Если используется драйвер устройства MmAllocateContiguousMemory функции, и если он устанавливает значение HighestAcceptableAddress параметр менее 4 гигабайт (ГБ), операционная система Windows может постраничного рабочего набора процесса SQL Server на 64-разрядных. Чтобы устранить эту проблему, свяжитесь с поставщиком драйвера устройства для обновления драйверов.
  3. Если по-прежнему этих проблем, возникающих после установки этих исправлений, примените исправление Windows, ограничивает число монтажа операций каждого процесса. Для получения дополнительных сведений щелкните следующие номера статей базы знаний Майкрософт:
    938486Компьютер под управлением Windows Server 2003 перестает отвечать на запросы из-за операцию усечения диспетчера памяти, возникает из-за неопределенного модуль, который требует значительных объемов памяти
    956341 Компьютер под управлением Windows Server 2003 перестает отвечать на запросы из-за больших выделение памяти
    Когда драйвер устройства пытается выделить память, операционная система Windows может постраничного рабочее множество других приложений. Это исправление Windows позволяет использовать трассировку событий найти драйвер устройства, которое вызывает неполадки.
  4. Приложения могут использовать системный кэш слишком сильно и может привести к большой рост в кэше. Отвечать на рост в кэше страницы системы out рабочего набора процесса SQL Server или других приложений. При возникновении этой проблемы можно использовать несколько функций управления памятью в приложении. Эти функции определяют пространство кэш-памяти системы, файловых операций ввода-вывода можно использовать в приложении. Например, можно использовать SetSystemFileCacheSize функция и GetSystemFileCacheSize Функция управления пространство кэш-памяти системы, можно использовать в операциях файлового ввода-вывода.

    Объект производительности памяти можно использовать для просмотра значений различных счетчиков в этот объект, чтобы определить, использует ли слишком много памяти рабочего набора кэша системы. Например можно просмотреть счетчики байт кэш-памяти и резидентных байт системного кэша. Для получения дополнительных сведений по этой теме посетите следующие веб-узлы корпорации Майкрософт:
    http://blogs.MSDN.com/ntdebugging/Archive/2007/11/27/Too-much-Cache.aspx

    http://blogs.MSDN.com/ntdebugging/Archive/2009/02/06/Microsoft-Windows-Dynamic-Cache-Service.aspx

    экспортировании;EN-US; 976618
    Можно загрузить и установить «Microsoft динамического кэша службы Windows» контролировать объем памяти, занимаемой в кэше.
  5. Если SQL Server работает совместно с SAP R/3, могут возникнуть проблемы разбиения по страницам. Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:
    931308Наблюдается Повышенная подкачки на жестком диске при запуске программы SAP R/3 на компьютере под управлением Windows Server 2003

Усовершенствования в Windows Server 2008

Windows Server 2008 улучшает механизм распределения непрерывной памяти. Это усовершенствование позволяет уменьшить побочные эффекты разбиения по страницам за пределы рабочего набора приложения при поступлении новых запросов памяти Windows Server 2008. Если SQL Server выполняется на компьютере под управлением Windows Server 2008, не нужно настраивать вручную Максимальный размер памяти сервера свойство, указанное в разделе «важные вопросы, прежде чем назначить "Блокировка страниц в памяти" справа для экземпляра класса 64-разрядной версии SQL Server».

ПримечаниеПредыдущая инструкция применимо только для сценариев, в которых включен «блокировка страниц в памяти» пользователь правой и настроенный «max server memory» значение памяти рабочего набора усечения проблем, которые обычно возникают в Windows Server 2003, обсуждаемые в этой статье и разбиения на страницы. Может быть допустимым сценариев, таких как поддержка нескольких экземпляров и других конфигураций, в которых по-прежнему необходимо установить «max server memory» на основе конкретных рекомендаций и анализа.

Ниже приведено описание улучшений в официальном документе под названием «Переходит в памяти управления в Windows».

Распределение памяти физически смежной заметно расширена в Windows Server 2008. Запросы на выделение непрерывной памяти скорее гораздо более успешным, поскольку диспетчер памяти теперь динамически заменяет страницы, обычно без обрезки рабочего набора и выполнение операций ввода-вывода. Кроме того, многие другие типы страниц — например, стеки ядра и файл метаданных страниц, среди прочих — теперь являются кандидатами на замену. Как следствие непрерывной памяти обычно доступны в любой момент времени. Кроме того для получения такого распределения затрат, резко уменьшится.

Для просмотра официальный документ «Переходит в памяти управления в Windows», посетите веб-узел корпорации Майкрософт:
http://download.Microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fde-d599bac8184a/MemMgt.docx
Для получения дополнительных сведений посетите следующие веб-узлы корпорации Майкрософт:
http://blogs.MSDN.com/psssql/Archive/2008/03/03/SQL-Server-Working-Set-Trim-Problems-consider.aspx

http://support.Microsoft.com/kb/2001745
Примечание На компьютере под управлением Windows Server 2008 необходимо установить SQL Server с пакетом обновления 2 (SP2) или более поздней версии пакета обновления SQL Server.

Как определить объем памяти, используемый 64-разрядные версии SQL Server

С помощью системного монитора для просмотра страницы памяти использовать 64-разрядные версии SQL Server. Чтобы сделать это, производительности счетчик:
Объект производительности: память
Счетчик: Страниц/сек
Для получения дополнительных сведений о том, как этот счетчик используется для определения память и щелкните следующий номер статьи в База знаний корпорации Майкрософт:
889654Как определить размер файла подкачки для 64-разрядных версий Windows Server 2003 или Windows XP
Кроме того, можно измерять эффект подкачки на 64-разрядных выпусков SQL Server путем наблюдения за следующие счетчики производительности:
Объект производительности: процесс
Счетчика: Байт исключительного пользования
Экземпляр: sqlservr

Объект производительности: процесс
Счетчик: Рабочий набор
Экземпляр: sqlservr
Счетчик Private Bytes измеряет объем памяти, выделенной в данный момент. Рабочее множество счетчик измеряет объем памяти, который в настоящее время заняты процессом. 64-разрядные версии SQL Server для предоставления памяти, буферный пул выделит также использовать следующих счетчиков производительности:
Объект производительности: диспетчер памяти: сервера SQL
Счетчика: Общий сервер Memory(KB)
Примечание Если экземпляр 64-разрядной версии SQL Server является именованным экземпляром, Имя объекта производительности, выглядит следующим образом:
MSSQL$Имя_экземпляра: Диспетчер памяти
Если значение счетчика рабочее множество меньше, чем значение счетчика Memory(KB) всего сервера, по крайней мере некоторый объем памяти, который входит в буферном пуле были удалены из в SQL Server рабочего набора.

После назначения Блокировка страниц в памяти права пользователя и перезапустите службу SQL Server, буферный пул SQL Server процесс по-прежнему отвечает памяти событиях, и динамически увеличивается или уменьшается в ответ на эти события. Тем не менее не удается увидеть выделения памяти для буферного пула, которые фиксируются в памяти следующие счетчики производительности:
  • Счетчик Private Bytes и рабочего набора счетчиков системного монитора
  • В Память столбец на Процессы Вкладка в диспетчере задач
После этих страниц заблокированы, эти счетчики производительности представления выделений памяти внутри процесса SQL Server при их распределения не используйте буферного пула. Счетчик общего сервера Memory(KB) объект производительности SQL Server: памяти диспетчера точно соответствующий памяти, выделенной для буферного пула.

Важные замечания, прежде чем назначить пользователя «Блокировка страниц в памяти» вправо для экземпляра класса 64-разрядной версии SQL Server

Следует учитывать перед назначением Блокировка страниц в памяти права пользователя. Если присвоить этому пользователю права на системах, которые настроены неправильно, система может нестабильной или снизиться производительность всей системы. Кроме того в журнале событий регистрируется событие ID 333.

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

Перед назначением Блокировка страниц в памяти право, убедитесь, что записи журнала системного монитора, чтобы определить требования к памяти для различных приложений и служб, установленных в системе. Эти приложения также включают SQL Server. Чтобы определить требования к памяти, соберите следующие базовые данные:
  • Убедитесь, что значение Максимальный размер памяти сервера параметр и Минимальный объем памяти сервера параметр правильно. Эти параметры отражают только требования к памяти буферного пула в процессе SQL Server. Эти параметры не включают память, выделенную для других компонентов внутри процесса SQL Server. Эти компоненты включают следующее:
    • Рабочими потоками SQL Server
    • Многостраничные распределителя диспетчера памяти SQL Server
    • Различные библиотеки DLL и компонентов, которые в процессе SQL Server загружается в адресное пространство процесса SQL Server
    • Операции резервного копирования и восстановления
  • Библиотеки DLL и компоненты включают в себя различные поставщики OLE DB, расширенные хранимые процедуры, Microsoft COM объекты, используемые для процедуры sp_OACreate хранимые процедуры связанных серверов и SQL Server со средой CLR. Память, выделенную для этих компонентов попадает в область пул nonbuffer адресное пространство процесса SQL Server. В идеале определить максимальный объем памяти, который можно использовать весь процесс SQL Server, необходимо вычесть объем памяти, выделенной для компонентов, которые не используют буферный пул из общего объема памяти, которое процесс SQL Server для использования. Затем значение остаток можно использовать для установки Максимальный размер памяти сервера параметр. Перед настройкой Максимальный размер памяти сервера параметр и Минимальный объем памяти сервера параметр, необходимо внимательно просмотреть раздел «Настройка параметров памяти вручную» в электронной документации по SQL Server.
  • Определите требования к памяти других приложений и компонентов операционной системы Windows. Приложения могут включать другие компоненты SQL Server, например, агент SQL Server, агентов репликации SQL Server, службы отчетов SQL Server, SQL Server Analysis Services, служб интеграции SQL Server и полнотекстового поиска SQL Server. Приложения, выполняющие операции резервного копирования и операции копирования файлов может использовать большой объем памяти. Рассмотрим операций массового копирования и агента моментальных снимков, которые создают файл ввода-ВЫВОДА. Требования к памяти всех этих приложений необходимо учитывать при определении значения Максимальный размер памяти сервера параметр и Минимальный объем памяти сервера параметр. Счетчик Private Bytes и рабочего набора счетчиков объекта Process для каждого процесса позволяет определить требования к памяти для определенного процесса.
  • По умолчанию Блокировка страниц в памяти право пользователя уже присвоена встроенной учетной записи локальной системы. Для получения дополнительных сведений посетите следующий веб-узел корпорации Майкрософт:
    http://blogs.MSDN.com/psssql/Archive/2007/10/18/Do-i-have-to-Assign-the-LOCK-Privilege-for-Local-System.aspx
  • Если учетная запись пользователя Windows используется глобально для всех процессов SQL Server в домене, определяют права пользователей, назначенные с помощью настройки групповой политики. 32-Разрядного процесса SQL Server может использовать эту учетную запись как стартовую учетную запись. Тем не менее, эта учетная запись необходима Блокировка страниц в памяти право пользователя на включение компонента Address Windowing Extensions (AWE). Дополнительные сведения содержатся в разделе «Предоставление максимальный объем памяти для SQL Server» в электронной документации по SQL Server.
  • Перед настройкой Максимальный размер памяти сервера параметр и Минимальный объем памяти сервера параметр для нескольких экземпляров SQL Server, следует учитывать требования nonbuffer пул памяти для каждого экземпляра SQL Server. Настройте эти параметры для каждого экземпляра SQL Server.
В идеале собирать эти базовые сведения во время пиковых нагрузок. Таким образом можно определить требования к памяти для различных приложений и компонентов для поддержки пиковой нагрузки. Требования к памяти отличаются от одной системы в другую систему, в зависимости от действий и приложений, работающих в системе.

Как использовать данные из буферов обмена SQL Server для определения условий памяти при разбиении

Данные из буферов обмена SQL Server можно использовать для определения условий памяти на сервере, при разбиении. Такой сценарий следующий сценарий можно использовать для получения этих сведений.
SELECT CONVERT (varchar(30), GETDATE(), 121) as runtime,
DATEADD (ms, -1 * (sys.ms_ticks - a.[Record Time]), GETDATE()) AS Notification_time,  
 a.* , sys.ms_ticks AS [Current Time]
 FROM 
 (SELECT x.value('(//Record/ResourceMonitor/Notification)[1]', 'varchar(30)') AS [Notification_type], 
 x.value('(//Record/MemoryRecord/MemoryUtilization)[1]', 'bigint') AS [MemoryUtilization %], 
 x.value('(//Record/MemoryRecord/TotalPhysicalMemory)[1]', 'bigint') AS [TotalPhysicalMemory_KB], 
 x.value('(//Record/MemoryRecord/AvailablePhysicalMemory)[1]', 'bigint') AS [AvailablePhysicalMemory_KB], 
 x.value('(//Record/MemoryRecord/TotalPageFile)[1]', 'bigint') AS [TotalPageFile_KB], 
 x.value('(//Record/MemoryRecord/AvailablePageFile)[1]', 'bigint') AS [AvailablePageFile_KB], 
 x.value('(//Record/MemoryRecord/TotalVirtualAddressSpace)[1]', 'bigint') AS [TotalVirtualAddressSpace_KB], 
 x.value('(//Record/MemoryRecord/AvailableVirtualAddressSpace)[1]', 'bigint') AS [AvailableVirtualAddressSpace_KB], 
 x.value('(//Record/MemoryNode/@id)[1]', 'bigint') AS [Node Id], 
 x.value('(//Record/MemoryNode/ReservedMemory)[1]', 'bigint') AS [SQL_ReservedMemory_KB], 
 x.value('(//Record/MemoryNode/CommittedMemory)[1]', 'bigint') AS [SQL_CommittedMemory_KB], 
 x.value('(//Record/@id)[1]', 'bigint') AS [Record Id], 
 x.value('(//Record/@type)[1]', 'varchar(30)') AS [Type], 
 x.value('(//Record/ResourceMonitor/Indicators)[1]', 'bigint') AS [Indicators], 
 x.value('(//Record/@time)[1]', 'bigint') AS [Record Time]
 FROM (SELECT CAST (record as xml) FROM sys.dm_os_ring_buffers 
 WHERE ring_buffer_type = 'RING_BUFFER_RESOURCE_MONITOR') AS R(x)) a 
CROSS JOIN sys.dm_os_sys_info sys
ORDER BY a.[Record Time] ASC

Примечание Этот запрос для SQL Server 2005 и SQL Server 2008.

Можно запросить сведения, предоставляемые в sys.dm_os_process_memory динамическое административное представление понять, является ли система при возникновении нехватки памяти. Дополнительные сведения содержатся в документации по SQL Server 2008 ссылки на веб-узле MSDN:
http://MSDN.Microsoft.com/en-us/library/bb510747.aspx

Сведения о SQL Server 2008 R2 анализатора соответствия Рекомендациям

Анализатор SQL Server 2008 R2 соответствия рекомендациям (SQL Server 2008 R2 BPA) предоставляет несколько правил для выявления ситуаций, которые могут привести к работе усечения набора процесса SQL Server. Анализатор SQL Server 2008 R2 поддерживает SQL Server 2008 и SQL Server 2008 R2.

Если запустить средство анализатора соответствия Рекомендациям и получать предупреждение «СУБД - неправильные параметры памяти SQL Server» необходимо проверить параметр max server памяти для данного экземпляра SQL Server и следуйте рекомендациям в разделе «важные вопросы, прежде чем назначить пользователя «Блокировка страниц в памяти» справа для экземпляра класса 64-разрядной версии SQL Server» данной статьи.

Если запустить средство анализатора соответствия Рекомендациям и возникают ошибки «СУБД - операционной системы файлы и драйверы требуется обновление для работы усечения набора» необходимо просмотреть все исправления, описанного в разделе «Решение» этой статьи и их применения.

Если запустить средство анализатора соответствия Рекомендациям и возникновение ошибки «СУБД - значительную часть памяти была записана, SQL Server» необходимо Просмотр раздела «Решение» и «Временное решение» этой статьи и предпринять соответствующие действия.

Ссылки

Свернуть эту таблицуРазвернуть эту таблицу
Правила программыНазвание правилаИдентификатор правила
Правило SQL Server 2008 R2 анализатора соответствия РекомендациямНеправильные параметры памяти SQL ServerRID3804
Правило SQL Server 2008 R2 анализатора соответствия Рекомендациям Системные файлы и драйверы требуется обновление для работы фильтрации по ролям набораRID0059
Правило SQL Server 2008 R2 анализатора соответствия РекомендациямЗначительную часть памяти SQL Server была записанаRID0049



Продукты независимых производителей, обсуждаемые в данной статье, производятся компаниями, независимыми от корпорации Майкрософт. Корпорация Майкрософт не дает явных или подразумеваемых, относительно производительности или надежности этих продуктов.

Свойства

Код статьи: 918483 - Последний отзыв: 18 июня 2011 г. - Revision: 6.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Enterprise
Ключевые слова: 
kbsqlsetup kbsql2005engine kbexpertiseadvanced kbinfo kbmt KB918483 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:918483

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com