Monitor de latencia de escritura en disco para bases de datos de 2008.
El monitor comprueba la latencia de la operación de escritura en el disco y genera una alerta.
Esta alerta indica que el tiempo promedio necesario para escribir en el disco ha permanecido mayor que el umbral durante un intervalo.
El problema puede producirse por un rendimiento bajo de Microsoft SQL Server o en un cuello de botella en 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.
Compruebe que se ha asignado una cantidad suficiente de memoria a SQL. El colapso de memoria de SQL Server puede dar lugar a lecturas físicas mayores de lo normal.
Artículo de prácticas recomendadas de SQL Server (Prácticas recomendadas de configuración de disco y errores habituales)
Target | Microsoft.SQLServer.2008.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.2008.Database.DiskWriteLatency.MonitorType | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.2008.Database.DiskWriteLatencyMonitor" Accessibility="Public" Enabled="false" Target="SQL2008Core!Microsoft.SQLServer.2008.Database" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2008.Database.DiskWriteLatency.MonitorType" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2008.Database.DiskWriteLatencyMonitor.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>25</Threshold>
<NumSamples>6</NumSamples>
<SyncTime/>
</Configuration>
</UnitMonitor>