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.
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.
El problema puede estar deberse a una contención de disco o a un cuello de botella en el disco.
Para resolver este error, realice una o varias de las siguientes acciones:
Determine si el rendimiento de disco se ha degradado o la carga de trabajo ha aumentado.
Evalúe las prácticas recomendadas de almacenamiento de SQL Server.
Determine si el almacenamiento para los archivos de base de datos se ha comprometido en exceso, por ejemplo, almacenamiento compartido en la red SAN o máquinas virtuales.
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. | Sí |
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 |
Target | Microsoft.SQLServer.2016.Database | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | PerformanceHealth | ||
Enabled | False | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SQLServer.2016.Database.DiskReadLatency.MonitorType | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<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/Value$</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>