На распространителе ожидают доставки команды, предназначенные для определенной подписки.
Большое число команд в базе данных распространения не было доставлено выбранному подписчику.
Монитор собирает эти сведения и показывает пользователю. Данные можно получить так же, как и в случае монитора репликации.
Агент распространителя может быть остановлен.
Большие транзакции с множеством команд, зафиксированных в базе данных издателя и реплицированных в базе данных распространения
В агенте распространения могут возникать проблемы производительности при чтении из базы данных распространения и записи в базу данных подписчика
Устраните все проблемы, если агент распространения остановлен, и перезапустите его.
Если оповещение создано вследствие наличия больших транзакций в базе данных издателя, оцените ориентировочное время доставки. Возможно, оптимальным решением в данном случае будет повторная инициализация подписки.
Если в агенте распространения возникают проблемы производительности при чтении из базы данных распространения, выполните обновление статистики с полным сканированием в базе данных распространения. Если проблемы производительности возникают при записи данных на подписчик, проверьте наличие блокировок, устраните обнаруженные блокировки и ожидание ресурсов.
Имя | Описание | Значение по умолчанию |
Включено | Включает или отключает рабочий процесс | Да |
Создает предупреждения | Определяет, создает ли рабочий процесс предупреждение | Да |
Интервал (секунды) | Повторяющийся интервал времени в секундах, по истечении которого запускается рабочий процесс. | 300 |
Число примеров | Показывает, сколько раз измеряемая величина должна пересечь пороговое значение, чтобы состояние изменилось. | 6 |
Время ожидания (секунды) | Время ожидания (секунды) | 300 |
Время синхронизации | Время синхронизации |
|
Порог | Порог | 20 |
Target | Microsoft.SQLServer.2014.Replication.Subscription | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | PerformanceHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SQLServer.2014.Replication.MonitorType.SubscriptionPendingCmds | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Microsoft.SQLServer.Replication.Monitoring.RunAs.Monitor |
<UnitMonitor ID="Microsoft.SQLServer.2014.Replication.Monitor.SubscriptionPendingCmdsMonitor" Accessibility="Public" Enabled="true" Target="MS2RD!Microsoft.SQLServer.2014.Replication.Subscription" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2014.Replication.MonitorType.SubscriptionPendingCmds" ConfirmDelivery="false" RunAs="MSRL!Microsoft.SQLServer.Replication.Monitoring.RunAs.Monitor">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2014.Replication.Monitor.SubscriptionPendingCmds.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Warning</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type='MSRL!Microsoft.SQLServer.Replication.Library.GenericSubscription']/SubscriptionName$</AlertParameter1>
<AlertParameter2>$Data/Context/Property[@Name='SubscriptionPendingCmds']$</AlertParameter2>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Health" MonitorTypeStateID="Health" HealthState="Success"/>
<OperationalState ID="Warning" MonitorTypeStateID="Warning" HealthState="Warning"/>
</OperationalStates>
<Configuration>
<SqlTimeout>300</SqlTimeout>
<ConnectionString>$Target/Property[Type="MSRL!Microsoft.SQLServer.Replication.Library.GenericSubscription"]/Distributor$</ConnectionString>
<SubscriptionType>$Target/Property[Type="MSRL!Microsoft.SQLServer.Replication.Library.GenericSubscription"]/Type$</SubscriptionType>
<PublisherName>$Target/Property[Type="MSRL!Microsoft.SQLServer.Replication.Library.GenericSubscription"]/Publisher$</PublisherName>
<Subscriber>$Target/Property[Type="MSRL!Microsoft.SQLServer.Replication.Library.GenericSubscription"]/Subscriber$</Subscriber>
<PublisherDb>$Target/Property[Type="MSRL!Microsoft.SQLServer.Replication.Library.GenericSubscription"]/PublicationDatabase$</PublisherDb>
<SubscriberDb>$Target/Property[Type="MSRL!Microsoft.SQLServer.Replication.Library.GenericSubscription"]/SubscriptionDatabase$</SubscriberDb>
<Publication>$Target/Property[Type="MSRL!Microsoft.SQLServer.Replication.Library.GenericSubscription"]/PublicationName$</Publication>
<Threshold>20</Threshold>
<NumSamples>6</NumSamples>
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
</Configuration>
</UnitMonitor>