Pourquoi l'espérance de vie de page 0 (zéro) sur SQL Server 2005

8

Nous voulions connaître l'espérance de vie des pages de notre serveur SQL. Nous regardons donc le compteur à l'aide de Perform. La valeur est ZERO et ne change jamais. Je pensais qu'il devait y avoir un bug, alors j'ai vérifié la requête 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'

Cela renvoie également zéro, toute la journée.

Pour rendre cela plus intéressant, nous avons vérifié le compteur de «taux de réussite du cache du tampon», avec une moyenne d'environ 99-100.

Alors, comment l'espérance de vie de la page est-elle nulle alors que le «taux de réussite du cache du tampon» est de 100?

Que nous manque-t-il? si elle est toujours nulle, cela signifierait pour moi que rien ne reste dans le cache de tampon, ce qui semble incorrect si le taux de succès du cache de tampon est de 100?

Merci d'avance

ttomsen
la source

Réponses:

4

Je commencerais par faire les étapes décrites ici:

Comment reconstruire les compteurs de performances d'une instance SQL Server 2005 ou 2008

Mise à jour d'août 2015: le lien ci-dessus semble rompu . Référence alternative:

Dépannage: SQL Server (2005, 2008) Problèmes de collecte de compteurs de performances (CSS)

Étapes essentielles de la ressource liée

À l'aide d'une invite de commandes administrateur élevée, procédez comme suit.

  1. Modifiez le chemin d'accès au BINNrépertoire de l'instance SQL Server que vous souhaitez corriger.
    (Ex: C:\Program Files\Microsoft SQL Server\MSSQL10.SQL2008\MSSQL\Binn)
  2. Exécuter unlodctr <<REGISTERED SERVER NAME>>
    Par exemple: unlodctr MSSQL$SQL2008ou SQLAgent$SQL2008...
  3. Exécuter lodctr /T:<<perf-sql* matching the counters you desire to load>>
    Par exemple: perf-MSSQL$SQL2008sqlctr.iniou perf-SQLAgent$SQL2008sqlagtctr.inipour SQLAgent. Il /Test important de charger le fournisseur de compteurs de performances SQL Server en tant que fournisseur approuvé .
  4. Cycle le service de registre distant:
    net stop "Remote Registry"puisnet start "Remote Registry"
  5. Forcer une synchronisation WMI en utilisant winmgmt /resyncperfctr "<<PID>>"
    où PID est l'ID de processus du WinPriv.exe(vous pouvez l'obtenir auprès du Gestionnaire des tâches)

De plus, à partir de cette ressource , les éléments suivants peuvent également être requis:

  • Assurez-vous que les autorisations de sécurité correctes ont été accordées à la HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009
    clé de registre:

    1. Accordez des autorisations de contrôle total au compte du propriétaire créateur.
    2. Accordez des autorisations Contrôle total au compte Administrateurs.
    3. Accordez des autorisations de lecture aux administrateurs SQL sur cette boîte / nœud.
    4. Accorder des autorisations de contrôle total au compte système
Remus Rusanu
la source