Latencia de lectura de disco

Microsoft.SQLServer.2016.Database.DiskReadLatencyMonitor (UnitMonitor)

Monitor de latencia de lectura de disco para bases de datos de 2016. Nota: este monitor está deshabilitado de manera predeterminada. Use las invalidaciones para habilitarlo cuando sea necesario.

Knowledge Base article:

Resumen

El monitor comprueba la latencia de la operación de lectura del disco y genera una alerta.

Esta alerta indica que el tiempo promedio necesario para leer los datos del disco ha permanecido mayor que el umbral durante un intervalo.

Causas

El problema puede estar deberse a una contención de disco o a un cuello de botella en el disco.

Soluciones

Para resolver este error, realice una o varias de las siguientes acciones:

Parámetros invalidables

Nombre

Descripción

Valor predeterminado

Prioridad de alerta

Define la prioridad de la alerta.

Normal

Gravedad de alerta

Define la gravedad de la alerta.

Error

Habilitado

Habilita o deshabilita el flujo de trabajo.

No

Genera alertas

Define si el flujo de trabajo genera una alerta.

Intervalo (segundos)

Intervalo de tiempo periódico en segundos en que se ejecuta el flujo de trabajo.

300

Número de ejemplos

Indica cuántas veces debe superar un umbral un valor medido para que cambie el estado.

6

Hora de sincronización

Hora de sincronización especificada en un formato de 24 horas. Se puede omitir.

00:19

Umbral

El valor recopilado se comparará con este parámetro.

40

Tiempo de espera (segundos)

Especifica el tiempo durante el que se puede ejecutar el flujo de trabajo antes de que se cierre y se marque como error.

200

Element properties:

TargetMicrosoft.SQLServer.2016.Database
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledFalse
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2016.Database.DiskReadLatency.MonitorType
RemotableTrue
AccessibilityPublic
Alert Message
MSSQL 2016: la latencia de lectura de disco es demasiado alta
La base de datos “{0}” en la instancia de SQL “{1}” en el equipo “{2}” punto de montaje “{3}” tiene una latencia muy alta de lectura del disco “{4}”. Vea la pestaña "Contexto de alerta" para obtener más detalles.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2016.Database.DiskReadLatencyMonitor" Accessibility="Public" Enabled="false" Target="SQL2016Core!Microsoft.SQLServer.2016.Database" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2016.Database.DiskReadLatency.MonitorType" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2016.Database.DiskReadLatencyMonitor.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.Database"]/DatabaseName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.ServerRole"]/InstanceName$</AlertParameter2>
<AlertParameter3>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter3>
<AlertParameter4>$Data/Context/ObjectName$</AlertParameter4>
<AlertParameter5>$Data/Context/SampleValue$</AlertParameter5>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Normal" MonitorTypeStateID="Normal" HealthState="Success"/>
<OperationalState ID="Error" MonitorTypeStateID="Error" HealthState="Error"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>300</IntervalSeconds>
<TimeoutSeconds>200</TimeoutSeconds>
<Threshold>40</Threshold>
<NumSamples>6</NumSamples>
<SyncTime/>
</Configuration>
</UnitMonitor>