Монитор задержки записи на диск для баз данных SQL 2012
Монитор проверяет задержку для операций записи на диск и выдает предупреждение.
Это предупреждение указывает, что среднее время, необходимое для записи данных на диск, оставалось выше порогового значения в период времени.
Проблема может быть вызвана низкой производительностью Microsoft SQL Server или ограниченной производительностью диска.
Чтобы устранить эту неполадку, выполните одно или несколько следующих действий.
Определите, уменьшилась ли производительность диска или повысилась рабочая нагрузка.
Оцените рекомендации для хранилища SQL Server.
Определите, не перегружено ли хранилище базы данных, например общее хранилище в сети или на виртуальных машинах.
Убедитесь, что для SQL выделено достаточно памяти. Нехватка памяти у SQL Server может привести к повышенной, относительно нормальной частоте физических чтений.
Статья с рекомендациями по SQL Server (рекомендации по конфигурации диска и типичные проблемы)
http://go.microsoft.com/fwlink/?LinkId=789184
Имя | Описание | Значение по умолчанию |
Приоритет предупреждения | Определяет приоритет предупреждения. | Обычные |
Серьезность предупреждения | Определяет серьезность предупреждения. | Ошибка |
Включено | Включает или отключает рабочий процесс. | Нет |
Создает предупреждения | Определяет, создает ли рабочий процесс предупреждения. | Да |
Интервал (в секундах) | Повторяющийся интервал времени в секундах, по истечении которого запускается рабочий процесс. | 300 |
Число выборок | Если счетчик превышений порогового значения параметра больше числа выборок или равен ему, монитор будет в неисправном состоянии. | 6 |
Время синхронизации | Время синхронизации указывается в 24-часовом формате и может быть опущено. | 00:04 |
Пороговое значение | Пороговое значение | 25 |
Время ожидания (секунды) | Задает допустимое время выполнения рабочего процесса, перед тем как он будет закрыт и отмечен как сбойный. | 200 |
Target | Microsoft.SQLServer.2012.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.2012.Database.DiskWriteLatency.MonitorType | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.2012.Database.DiskWriteLatencyMonitor" Accessibility="Public" Enabled="false" Target="SQL2012Core!Microsoft.SQLServer.2012.Database" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2012.Database.DiskWriteLatency.MonitorType" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2012.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>