Суммарное время выполнения агента репликации за день

Microsoft.SQLServer.2014.Replication.Monitor.ReplicationAgentsLoad (UnitMonitor)

Выполняет отслеживание общего ежедневного времени выполнения для следующих агентов репликации на распространителе: агент распространителя, агент чтения журнала, агент слияния, агент чтения очереди, агент моментальных снимков.

Knowledge Base article:

Сводка

Это предупреждение вычисляет общее время выполнения каждого из агентов репликации за последние 24 часа (по умолчанию) и проверяет, превышает ли общее время выполнения любого из агентов установленное пороговое значение.

Пороговые значения, заданные по умолчанию, предусматривают предупреждение по истечении 3 часов и критическое предупреждение по истечении 4 часов.

ПРИМЕЧАНИЕ. Непрерывные задания не отслеживаются.

Причины

При репликации большого числа изменений и команд могут возникнуть узкие места, ограничивающие производительность. К распространенным причинам этого явления относятся следующие:

Решения неисправностей

Убедитесь, что индексы в базе данных подписки не фрагментированы в значительной степени.

Дополнительный

Более подробные сведения об устранении неполадок, связанных с производительностью репликации, см в статье http://technet.microsoft.com/library/ms152522.aspx

Включите подробное ведение журнала, чтобы получать больше сведений о действиях и ошибках определенного агента репликации: http://support.microsoft.com/kb/312292

Переопределяемые параметры

Имя

Описание

Значение по умолчанию

Приоритет предупреждения

Определяет приоритет предупреждения.

Обычные

Серьезность предупреждения

Определяет серьезность предупреждения.

Ошибка

Включено

Включает или отключает рабочий процесс.

Да

Порог ошибок

Порог ошибок

4

Создает предупреждения

Определяет, создает ли рабочий процесс предупреждения.

Да

Интервал (секунды)

Повторяющийся интервал времени в секундах, по истечении которого запускается рабочий процесс.

300

Период измерения (часы)

Период времени, используемый для измерения (часы)

24

Время синхронизации

Время синхронизации

 

Время ожидания (секунды)

Определяет время, в течение которого возможно выполнение рабочего процесса перед закрытием и пометкой как сбойный.

300

Время ожидания для подключения к базе данных (секунды)

Рабочий процесс завершится ошибкой и зарегистрирует событие, если он не сможет получить доступ к базе данных за указанный промежуток времени.

15

Порог предупреждений

Порог предупреждений

3

Element properties:

TargetMicrosoft.SQLServer.2014.Replication.Distributor
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2014.Replication.MonitorType.DistributorAgentsLoad
RemotableTrue
AccessibilityPublic
Alert Message
Репликация MSSQL2014: агенты репликации превысили общий дневной порог времени выполнения.
Для распространителя (имя: "{0}", сервер: "{1}") отмечено интенсивное использование в течение {2} часов за прошедшие 24 часа.
{3}
RunAsMicrosoft.SQLServer.Replication.Monitoring.RunAs.Monitor

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2014.Replication.Monitor.ReplicationAgentsLoad" Accessibility="Public" Enabled="true" Target="MS2RD!Microsoft.SQLServer.2014.Replication.Distributor" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2014.Replication.MonitorType.DistributorAgentsLoad" ConfirmDelivery="false" RunAs="MSRL!Microsoft.SQLServer.Replication.Monitoring.RunAs.Monitor">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2014.Replication.Monitor.ReplicationAgentsLoad.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type='MSRL!Microsoft.SQLServer.Replication.Library.GenericDistributor']/InstanceName$</AlertParameter1>
<AlertParameter2>$Target/Property[Type='MSRL!Microsoft.SQLServer.Replication.Library.GenericDistributor']/ConnectionString$</AlertParameter2>
<AlertParameter3>$Data/Context/Property[@Name='LoadHours']$</AlertParameter3>
<AlertParameter4>$Data/Context/Property[@Name='Message']$</AlertParameter4>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Health" MonitorTypeStateID="Health" HealthState="Success"/>
<OperationalState ID="Warning" MonitorTypeStateID="Warning" HealthState="Warning"/>
<OperationalState ID="Error" MonitorTypeStateID="Error" HealthState="Error"/>
</OperationalStates>
<Configuration>
<SqlTimeout>15</SqlTimeout>
<ConnectionString>$Target/Property[Type='MSRL!Microsoft.SQLServer.Replication.Library.GenericDistributor']/ConnectionString$</ConnectionString>
<WarningThreshold>3</WarningThreshold>
<ErrorThreshold>4</ErrorThreshold>
<LastHours>24</LastHours>
<CategoryList>Distribution, LogReader, Merge, QueueReader, Snapshot</CategoryList>
<ExcludeCategoryList/>
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>