Latence de lecture sur le disque

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

Analyse de la latence de lecture sur le disque pour les bases de données 2014. Remarque : cette analyse est désactivée par défaut. Utilisez des remplacements afin de l’activer, le cas échéant.

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/library/cc966412.aspx#EEAA

Paramètres remplaçables

Nom

Description

Valeur par défaut

Activé

 

Non

Génère des alertes

 

Oui

Intervalle (en secondes)

L'intervalle de temps récurrent en secondes pendant lequel le workflow est exécuté.

300

Nombre d'échantillons

Indique le nombre de dépassements de seuil d'une valeur mesurée avant la modification de l'état.

6

Seuil

La valeur collectée sera comparée avec ce paramètre.

40

Délai d'expiration (en secondes)

Spécifie la durée pendant laquelle le workflow est autorisé à être exécuté avant d'être fermé et marqué comme un échec.

200

Element properties:

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