Há comandos pendentes no Distribuidor para Assinatura específica aguardando entrega.
Um grande número de comandos no banco de dados de distribuição não foi entregue ao Assinante selecionado.
O monitoramento coleta essa informação e exibe para o usuário. Os dados podem ser obtidos da mesma maneira que o Monitoramento de Replicação obtém.
O agente de distribuição pode ter sido interrompido.
Grandes quantidades de transações pendentes, com muitos comandos comprometidos no banco de dados do publicador e replicados ao banco de dados de distribuição
Problemas de desempenho podem ter ocorrido no agente de distribuição ao ler do banco de dados de distribuição ou gravar ao banco de dados do assinante.
Se o agente de distribuição for interrompido, resolva todos os problemas e reinicie o agente;
Se o alerta ocorre devido a grandes transações no banco de dados do publicador, avalie a hora prevista de entrega. Considere reinicializar a assinatura.
Se houver problemas de lentidão no desempenho do agente de distribuição ao ler do banco de dados de distribuição, execute atualização de estatísticas com fullscan nas tabelas de distribuição. Se os problemas de desempenho ocorrem ao gravar no assinante, verifique e resolva todos os bloqueios ou esperas por recursos.
Nome | Descrição | Valor Padrão |
Habilitado | Habilita ou desabilita o fluxo de trabalho | Sim |
Gera alertas | Define se o fluxo de trabalho gera um Alerta | Sim |
Intervalo (segundos) | O intervalo de tempo recorrente em segundos no qual executa-se o fluxo de trabalho. | 300 |
Número de amostras | Indica quantas vezes um valor medido deve violar um limite antes do estado ser alterado. | 6 |
Tempo limite (segundos) | Tempo limite (segundos) | 300 |
Tempo de Sincronização | Tempo de Sincronização |
|
Limite | Limite | 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>