Latencia de lectura de disco

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

Monitor de latencia de lectura de disco para bases de datos de 2008.

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:

Artículo de prácticas recomendadas de SQL Server (Prácticas recomendadas de configuración de disco y errores habituales)

http://msdn.microsoft.com/es-es/library/cc966412.aspx#EEAA

Element properties:

TargetMicrosoft.SQLServer.2008.Database
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledFalse
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2008.Database.DiskReadLatency.MonitorType
RemotableTrue
AccessibilityPublic
Alert Message
La latencia de lectura de disco de la base de datos de SQL 2008 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.2008.Database.DiskReadLatencyMonitor" Accessibility="Public" Enabled="false" Target="SQL2008Core!Microsoft.SQLServer.2008.Database" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2008.Database.DiskReadLatency.MonitorType" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2008.Database.DiskReadLatencyMonitor.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SQL!Microsoft.SQLServer.Database"]/DatabaseName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="SQL!Microsoft.SQLServer.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>
</Configuration>
</UnitMonitor>