Permanenza presunta delle pagine

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

Permanenza presunta delle pagine (sec) per il motore di database 2016

Knowledge Base article:

Riepilogo

La permanenza presunta delle pagine è il numero di secondi durante il quale una pagina viene mantenuta nel pool di buffer senza riferimenti. Un'elevata permanenza presunta delle pagine significa che i dati necessari sono disponibili nella cache e che non è necessario cercarli nel disco rigido.

Cause

Valori estremamente bassi di permanenza presunta delle pagine possono essere indicativi di:

Memoria nel sistema insufficiente

Memoria configurata per l'utilizzo da parte di SQL Server insufficiente

Progettazione degli indici scarsa

Soluzioni

Controllare il sistema I/O per verificare la gestione del carico, se i valori dei contatori Media letture disco/sec e Media scritture disco/sec per l'oggetto PhysicalDisk sono alti (in genere più di 10 millisecondi), significa che il sistema potrebbe essere sovraccarico o che esistono margini di miglioramento delle query e degli indici.

Il pool di buffer potrebbe risultare sovraccarico perché SQL Server funziona con una quantità elevata di tabelle simultanee o perché viene utilizzata l'analisi completa invece di ricerche basate su criteri. Per verificare il problema, controllare il contatore SQL Server:Metodi accesso:Analisi complete/sec.

È possibile utilizzare SQL Server Profiler ed esplorare le statistiche Showplan nella categoria Performance per trovare un'applicazione che provoca l'analisi completa.

Parametri di cui è possibile eseguire l'override

Nome

Descrizione

Valore predefinito

Priorità avviso

Definisce la priorità dell'avviso.

Normale

Gravità avviso

Definisce la gravità dell'avviso.

Errore

Abilitato

Abilita o disabilita il flusso di lavoro.

Genera avvisi

Definisce se il flusso di lavoro genera un avviso.

Intervallo (secondi)

Intervallo di tempo ricorrente in secondi in cui eseguire il flusso di lavoro.

300

Numero di campioni

Indica quante volte un valore misurato deve violare una soglia prima che venga modificato lo stato.

6

Soglia

Il valore raccolto verrà confrontato con questo parametro.

300

Element properties:

TargetMicrosoft.SQLServer.2016.DBEngine
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2016.DBEngine.PageLifeExpectancy.MonitorType
RemotableTrue
AccessibilityPublic
Alert Message
MSSQL 2016: la permanenza presunta delle pagine del motore di database è troppo bassa
La permanenza presunta delle pagine dell'istanza di SQL "{0}" nel computer "{1}" è troppo bassa. Per altre informazioni, vedere la scheda relativa al contesto dell'avviso.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2016.DBEngine.PageLifeExpectancyMonitor" Accessibility="Public" Enabled="true" Target="SQL2016Core!Microsoft.SQLServer.2016.DBEngine" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2016.DBEngine.PageLifeExpectancy.MonitorType" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2016.DBEngine.PageLifeExpectancyMonitor.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.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>