Этот монитор проверяет наличие заданий агента SQL с длительным временем выполнения. Примечание: по умолчанию этот монитор отключен. Если нужно его включить, то пользуйтесь переопределениями.
Этот монитор проверяет длительные задания агента SQL Server. Если задание выполняется дольше настроенного порогового значения, то создается предупреждение о состоянии "предупреждение" или "ошибка".
Неисправное состояние вызвано тем, что задание агента SQL Server выполнялось дольше заданного порога. Это может означать проблему с заданием.
Агент SQL Server отвечает за запуск задач SQL сервера по расписанию, в определенные моменты или интервалы, а также при обнаружении определенных условий, для которых администраторы определяют действия, например, предупреждать кого-то с помощью веб-страниц или по электронной почте, или выполнять задачи, которые будут устранять условия. Агент SQL Server также используется для запуска задач репликации, определенных администратором.
Чтобы определить, какое задание вызвало предупреждение или состояние ошибки, проверьте данные контекста предупреждения или изменения состояния.
Проверьте среду SQL Server Management Studio, чтобы узнать, какие задания выполняются. Если задания выполняются дольше необходимого, проверьте их, чтобы выяснить причины.
Чтобы получить сведения о выполняемых в данный момент заданиях, используйте процедуру sp_help_jobactivity.
Другие способы, если ожидается длительное выполнение некоторых заданий агента:
переопределите монитор, чтобы изменить пороговые значения для данного конкретного или для всех экземпляров SQL;
отключите данный монитор для данного конкретного или для всех экземпляров SQL.
Название | Описание | Значение по умолчанию |
Включено |
| Нет |
Создает предупреждения |
| Да |
Интервал (в секундах) | Повторяющийся интервал времени в секундах, по истечении которого запускается рабочий процесс. | 600 |
Время синхронизации | Время синхронизации указывается в 24-часовом формате и может быть опущено. |
|
Порог предупреждения (в минутах) | Пороговое значение предупреждения. Превышение этого порогового значения приведет к изменению состояния монитора по крайней мере в состояние предупреждения. | 60 |
Критический порог (в минутах) | Монитор изменит состояние на "критическое", если значение превысит это пороговое значение Если значение находится между пороговым значением предупреждения (включая его) и критическим пороговым значением, то монитор будет находиться в состоянии предупреждения. | 120 |
Время ожидания (в секундах) | Определяет время, в течение которого возможно выполнение рабочего процесса перед закрытием и пометкой как сбойный. | 300 |
Target | Microsoft.SQLServer.2014.Agent | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | PerformanceHealth | ||
Enabled | False | ||
Alert Generate | True | ||
Alert Severity | MatchMonitorHealth | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SQLServer.2014.AgentLongRunningJobsProvider | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.2014.Agent.LongRunningJobs" Accessibility="Public" Enabled="false" Target="SQL2014Core!Microsoft.SQLServer.2014.Agent" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2014.AgentLongRunningJobsProvider" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2014.Agent.LongRunningJobs.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.ServerRole"]/InstanceName$</AlertParameter2>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="UnderThreshold1" MonitorTypeStateID="UnderThreshold1" HealthState="Success"/>
<OperationalState ID="OverThreshold1UnderThreshold2" MonitorTypeStateID="OverThreshold1UnderThreshold2" HealthState="Warning"/>
<OperationalState ID="OverThreshold2" MonitorTypeStateID="OverThreshold2" HealthState="Error"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>600</IntervalSeconds>
<SyncTime/>
<ConnectionString>$Target/Host/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.DBEngine"]/ConnectionString$</ConnectionString>
<Threshold1>60</Threshold1>
<Threshold2>120</Threshold2>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>