Почему ожидаемая продолжительность жизни страницы 0 (ноль) в SQL Server 2005


8

Мы хотели знать ожидаемый срок службы страницы для нашего SQL Server. Итак, мы смотрим на счетчик, используя Perform. Значение равно нулю и никогда не меняется. Я думал, что должна быть какая-то ошибка, поэтому я проверил запрос DMV SQL Server

SELECT [object_name],[counter_name],[cntr_value]
FROM sys.dm_os_performance_counters
WHERE [object_name] LIKE '%Manager%'
AND [counter_name] = 'Page life expectancy'

Это также возвращает ноль в течение всего дня.

Чтобы сделать это более интересным, мы проверили счетчик «коэффициент попадания в буферный кэш», в среднем он составлял около 99-100.

Итак, как же нулевая ожидаемая продолжительность жизни страницы, когда «коэффициент попадания в буферный кэш» равен 100?

Чего нам не хватает? если он всегда равен нулю, для меня это будет означать, что в буферном кеше ничего не остается, что кажется неправильным, если коэффициент попаданий в буферный кэш равен 100?

заранее спасибо

Ответы:


4

Я бы начал с выполнения шагов, изложенных здесь:

Как перестроить счетчики производительности экземпляра SQL Server 2005 или 2008

Обновление август 2015: вышеуказанная ссылка не работает . Альтернативная ссылка:

Устранение неполадок: SQL Server (2005, 2008) Проблемы сбора счетчиков производительности (CSS)

Основные шаги из связанного ресурса

Используя командную строку администратора с повышенными правами, выполните следующие действия.

  1. Измените путь к BINNкаталогу экземпляра SQL Server, который вы хотите исправить.
    (Пример: C:\Program Files\Microsoft SQL Server\MSSQL10.SQL2008\MSSQL\Binn)
  2. Выполнить unlodctr <<REGISTERED SERVER NAME>>
    Например: unlodctr MSSQL$SQL2008или SQLAgent$SQL2008...
  3. Выполнить lodctr /T:<<perf-sql* matching the counters you desire to load>>
    Например: perf-MSSQL$SQL2008sqlctr.iniили perf-SQLAgent$SQL2008sqlagtctr.iniдля SQLAgent. /TВажно загрузить поставщик счетчика производительности SQL Server в качестве надежного поставщика .
  4. Цикл службы удаленного реестра:
    net stop "Remote Registry"затемnet start "Remote Registry"
  5. Принудительная синхронизация WMI, winmgmt /resyncperfctr "<<PID>>"
    где PID - это идентификатор процесса WinPriv.exe(вы можете получить это из диспетчера задач)

Кроме того, из этого ресурса может также потребоваться следующее:

  • Убедитесь, что для HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009
    раздела реестра предоставлены правильные разрешения безопасности :

    1. Предоставьте полный доступ к учетной записи Владельца-Создателя.
    2. Предоставьте полный доступ к учетной записи администратора.
    3. Предоставьте разрешения на чтение администраторам SQL в этом поле / узле.
    4. Предоставьте разрешения «Полный доступ» системной учетной записи
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.