Analyse de la latence d’écriture 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.
L'analyse vérifie la latence de l'opération d'écriture sur le disque et déclenche une alerte.
Cette alerte indique que la durée moyenne nécessaire pour écrire sur le disque est restée supérieure au seuil au cours d'un intervalle.
Le problème peut être dû à des performances réduites de Microsoft SQL Server ou par un goulot d'étranglement sur le disque.
Pour résoudre cette erreur, procédez de l'une des manières suivantes :
Déterminez si les performances du disque se sont dégradées ou si la charge de travail a augmenté.
Évaluez les recommandations de stockage de SQL Server.
Déterminez si le stockage des fichiers de bases de données a été surexploité, par exemple le stockage partagé dans le réseau SAN ou sur des ordinateurs virtuels.
Vérifiez qu'une quantité de mémoire adéquate a été allouée à SQL. Toute privation de mémoire de SQL server peut provoquer des lectures physiques plus élevées que la normale.
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
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. | 25 |
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 |
Target | Microsoft.SQLServer.2014.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.2014.Database.DiskWriteLatency.MonitorType | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.2014.Database.DiskWriteLatencyMonitor" Accessibility="Public" Enabled="false" Target="SQL2014Core!Microsoft.SQLServer.2014.Database" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2014.Database.DiskWriteLatency.MonitorType" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2014.Database.DiskWriteLatencyMonitor.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>25</Threshold>
<NumSamples>6</NumSamples>
<SyncTime/>
</Configuration>
</UnitMonitor>