Lebenserwartung von Seiten

Microsoft.SQLServer.2008.DBEngine.PageLifeExpectancyMonitor (UnitMonitor)

Seitenlebenserwartung (s) für 2008-Datenbankmodul

Knowledge Base article:

Zusammenfassung

Die Seitenlebenserwartung entspricht der Anzahl der Sekunden, die eine Seite ohne Verweise im Pufferpool verbleibt. Eine hohe Seitenlebenserwartung bedeutet, dass die erforderlichen Daten im Cache enthalten sind und dass nicht auf die Festplatte zugegriffen werden muss.

Ursachen

Äußerst niedrige Werte für die Seitenlebenserwartung können auf Folgendes hinweisen:

Zu wenig Arbeitsspeicher im System

Zu wenig Arbeitsspeicher für die Verwendung durch SQL Server konfiguriert

Schlechter Indexentwurf

Lösungen

Überprüfen Sie das E/A-System, um zu überprüfen, wie die Last verarbeitet wird, wenn Werte von den Leistungsindikatoren "Mittlere Sek./Lesevorgänge" und "Mittlere Sek./Schreibvorgänge" für das Objekt "PhysicalDisk" hoch sind (normalerweise höher als 10 Millisekunden). Das bedeutet, dass das System möglicherweise überlastet ist oder Möglichkeiten für Abfrage- und Indexverbesserung vorhanden sind.

Pufferpool kann überlastet sein, da SQL Server gleichzeitig mit großen Tabellenmengen arbeitet oder vollständiges Scannen anstelle der Suche mit Kriterien verwendet. Überprüfen Sie den Leistungsindikator "SQL Server:Zugriffsmethoden:Vollständige Scans/Sekunde", um das Problem zu untersuchen.

Sie können SQL Server Profiler verwenden und Showplan Statistics in der Leistungskategorie durchsuchen, um eine Anwendung zu finden, die das vollständige Scannen verursacht.

Element properties:

TargetMicrosoft.SQLServer.2008.DBEngine
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2008.DBEngine.PageLifeExpectancy.MonitorType
RemotableTrue
AccessibilityPublic
Alert Message
SQL 2008-Datenbankmodul-Seitenlebenserwartung ist zu niedrig
Seitenlebenserwartung von SQL-Instanz "{0}" auf dem Computer "{1}" ist zu niedrig. Ausführliche Informationen finden Sie auf der Registerkarte "Warnungskontext".
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2008.DBEngine.PageLifeExpectancyMonitor" Accessibility="Public" Enabled="true" Target="SQL2008Core!Microsoft.SQLServer.2008.DBEngine" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2008.DBEngine.PageLifeExpectancy.MonitorType" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2008.DBEngine.PageLifeExpectancyMonitor.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SQL!Microsoft.SQLServer.ServerRole"]/InstanceName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter2>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Normal" MonitorTypeStateID="Normal" HealthState="Success"/>
<OperationalState ID="Error" MonitorTypeStateID="Error" HealthState="Error"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>300</IntervalSeconds>
<Threshold>300</Threshold>
<NumSamples>6</NumSamples>
</Configuration>
</UnitMonitor>