Warum ist die Seitenlebensdauer unter SQL Server 2005 0 (Null)?

8

Wir wollten die Lebenserwartung der Seite für unseren SQL Server wissen. Also schauen wir uns den Zähler mit Perform an. Der Wert ist NULL und ändert sich nie. Ich dachte, es muss ein Fehler sein, also habe ich die SQL Server DMV-Abfrage überprüft

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

Das gibt auch den ganzen Tag Null zurück.

Um dies interessanter zu machen, haben wir den Zähler "Puffer-Cache-Trefferquote" mit einem Durchschnitt von 99-100 überprüft.

Wie ist die Seitenlebenserwartung Null, während die Trefferquote des Puffercaches 100 beträgt?

Was fehlt uns? Wenn es immer Null ist, würde es für mich bedeuten, dass nichts im Puffercache verbleibt. Was scheint falsch zu sein, wenn die Trefferquote des Puffercaches 100 beträgt?

Danke im Voraus

ttomsen
quelle

Antworten:

4

Ich würde mit den hier beschriebenen Schritten beginnen:

So erstellen Sie die Leistungsindikatoren einer SQL Server 2005- oder 2008-Instanz neu

Update August 2015: Der obige Link erscheint defekt . Alternative Referenz:

Fehlerbehebung: SQL Server (2005, 2008) Probleme mit der Erfassung von Leistungsindikatoren (CSS)

Wesentliche Schritte aus der verknüpften Ressource

Führen Sie die folgenden Schritte aus, indem Sie eine Eingabeaufforderung mit erhöhtem Administrator verwenden.

  1. Ändern Sie den Pfad in das BINNVerzeichnis der SQL Server-Instanz, die Sie korrigieren möchten.
    (Ex: C:\Program Files\Microsoft SQL Server\MSSQL10.SQL2008\MSSQL\Binn)
  2. Ausführen unlodctr <<REGISTERED SERVER NAME>>
    Zum Beispiel: unlodctr MSSQL$SQL2008oder SQLAgent$SQL2008...
  3. Ausführen lodctr /T:<<perf-sql* matching the counters you desire to load>>
    Zum Beispiel: perf-MSSQL$SQL2008sqlctr.inioder perf-SQLAgent$SQL2008sqlagtctr.inifür SQLAgent. Es /Tist wichtig, den SQL Server-Leistungsindikatoranbieter als vertrauenswürdigen Anbieter zu laden .
  4. Schalten Sie den Remote-Registrierungsdienst aus:
    net stop "Remote Registry"dannnet start "Remote Registry"
  5. Erzwingen Sie eine WMI-Synchronisierung unter Verwendung von winmgmt /resyncperfctr "<<PID>>"
    PID als Prozess-ID von WinPriv.exe(Sie können dies vom Task-Manager erhalten).

Darüber hinaus kann aus dieser Ressource Folgendes erforderlich sein:

  • Stellen Sie sicher, dass dem HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009
    Registrierungsschlüssel die richtigen Sicherheitsberechtigungen erteilt wurden :

    1. Gewähren Sie dem Creator Owner-Konto Vollzugriffsberechtigungen.
    2. Gewähren Sie dem Administratorkonto Vollzugriffsberechtigungen.
    3. Gewähren Sie den SQL-Administratoren Leseberechtigungen für dieses Feld / diesen Knoten.
    4. Gewähren Sie dem Systemkonto Vollzugriffsberechtigungen
Remus Rusanu
quelle