Latence de lecture sur le disque

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

Analyse de la latence de lecture sur le disque pour les bases de données 2008

Knowledge Base article:

Résumé

L'analyse vérifie la latence de l'opération de lecture sur le disque et déclenche une alerte.

Cette alerte indique que la durée moyenne nécessaire pour lire les données depuis le disque est restée supérieure au seuil au cours d'un intervalle.

Causes

Le problème peut être dû à un goulot d'étranglement ou de contention sur le disque.

Solutions

Pour résoudre cette erreur, procédez de l'une des manières suivantes :

Article traitant des recommandations de SQL Server (pièges communs & meilleures pratiques en matière de configuration du disque)

http://msdn.microsoft.com/fr-fr/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 latence de lecture sur le disque de la base de données SQL 2008 est trop élevée
La base de données « {0} » dans l'instance SQL « {1} » sur l'ordinateur « {2} », point de montage « {3} », présente une latence de lecture sur le disque « {4} » trop élevée. Pour plus d'informations, consultez l'onglet « contexte de l'alerte ».
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>
<SyncTime/>
</Configuration>
</UnitMonitor>