¿Por qué la esperanza de vida de la página es 0 (cero) en SQL Server 2005

8

Hemos estado queriendo saber la esperanza de vida de la página para nuestro SQL Server. Entonces miramos el contador usando Perform. El valor es CERO y nunca cambia. Pensé que debía haber algún error, así que verifiqué la consulta DMV de 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'

Eso también devuelve cero, todo el día.

Para hacer esto más interesante, verificamos el contador de "proporción de aciertos de memoria caché de búfer", con un promedio de alrededor de 99-100.

Entonces, ¿cómo es la expectativa de vida útil de la página cero mientras que el 'índice de aciertos de la memoria caché del búfer' es 100?

¿Qué nos estamos perdiendo? si siempre es cero, ¿significaría para mí que no queda nada en la memoria caché del búfer, lo que parece incorrecto si la proporción de aciertos de la memoria caché del búfer es 100?

Gracias por adelantado

ttomsen
fuente

Respuestas:

4

Comenzaría con los pasos descritos aquí:

Cómo reconstruir los contadores de rendimiento de una instancia de SQL Server 2005 o 2008

Actualización de agosto de 2015: el enlace anterior parece roto . Referencia alternativa:

Solución de problemas: Problemas de recopilación de contador de rendimiento (CSS) de SQL Server (2005, 2008 )

Pasos esenciales del recurso vinculado

Con un símbolo del sistema de administrador elevado, realice los siguientes pasos.

  1. Cambie la ruta al BINNdirectorio de la instancia de SQL Server que desea corregir.
    (Ex: C:\Program Files\Microsoft SQL Server\MSSQL10.SQL2008\MSSQL\Binn)
  2. Ejecutar unlodctr <<REGISTERED SERVER NAME>>
    Por ejemplo: unlodctr MSSQL$SQL2008o SQLAgent$SQL2008...
  3. Ejecutar lodctr /T:<<perf-sql* matching the counters you desire to load>>
    Por ejemplo: perf-MSSQL$SQL2008sqlctr.inio perf-SQLAgent$SQL2008sqlagtctr.inipara SQLAgent. El /Tes importante cargar el proveedor de contadores de rendimiento de SQL Server como un proveedor de confianza .
  4. Ciclo del servicio de registro remoto:
    net stop "Remote Registry"luegonet start "Remote Registry"
  5. Forzar una sincronización WMI usando winmgmt /resyncperfctr "<<PID>>"
    donde PID es la identificación del proceso del WinPriv.exe(puede obtener esto desde el Administrador de tareas)

Además, de este recurso , también se puede requerir lo siguiente:

  • Asegúrese de que se hayan otorgado los permisos de seguridad correctos a la HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009
    clave de registro:

    1. Otorgue permisos de Control total a la cuenta Creador Propietario.
    2. Otorgue permisos de Control total a la cuenta de Administradores.
    3. Otorgue permisos de lectura a los administradores de SQL en ese cuadro / nodo.
    4. Conceder permisos de control total a la cuenta del sistema
Remus Rusanu
fuente