Suscripciones no sincronizadas en el distribuidor

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

Este monitor detecta suscripciones no sincronizadas para distribuidores específicos.

Knowledge Base article:

Resumen

Este monitor detecta suscripciones no sincronizadas para un distribuidor específico.

Si el número de suscripciones no sincronizadas supera el umbral, se activará una alerta con el siguiente formato:

El distribuidor (nombre: «{0}», servidor: «{1}») ha detectado {2} suscripciones no sincronizadas.

Causas

La causa más común del problema es que el agente del distribuidor no está funcionando o que está sufriendo problemas de rendimiento.

Resoluciones

Asegúrese de que el agente de distribución se está ejecutando.

Ejecute Actualizar estadísticas mediante fullscan en las tablas de la base de datos de distribución.

Si una publicación en particular dispone de una gran cantidad de transacciones durante el período, considere la posibilidad de reinicializar la suscripción correspondiente. Si se está utilizando una instantánea para entregar los comandos no distribuidos relacionados, limpiar las tablas de distribución ayudará a otras suscripciones.

Parámetros invalidables

Nombre

Descripción

Valor predeterminado

Prioridad de alerta

Define la prioridad de la alerta.

Normal

Gravedad de alerta

Define la gravedad de la alerta.

Advertencia

Habilitado

Habilita o deshabilita el flujo de trabajo.

Genera alertas

Define si el flujo de trabajo genera una alerta.

Intervalo (segundos)

Intervalo de tiempo periódico en segundos en que se ejecuta el flujo de trabajo.

300

Número de ejemplos

Indica cuántas veces debe superar un umbral un valor medido para que cambie el estado.

12

Umbral por suscripción

Umbral por suscripción

0

Tiempo de sincronización

Tiempo de sincronización

 

Tiempo de espera (segundos)

Especifica el tiempo durante el que se permite el flujo de trabajo para ejecutarse antes de cerrarse y de marcarse como incorrecto.

300

Tiempo de expiración de la conexión de base de datos (segundos)

Se producirá un error en el flujo de trabajo y se registrará un evento si no puede obtener acceso a la base de datos durante el período especificado.

15

Umbral de recuento de suscripciones incorrectas

Umbral de recuento de suscripciones incorrectas

0

Element properties:

TargetMicrosoft.SQLServer.2014.Replication.Distributor
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2014.Replication.MonitorType.DistributorUnsyncSubscriptions
RemotableTrue
AccessibilityPublic
Alert Message
Replicación de MSSQL2014: suscripciones no sincronizadas detectadas.
El distribuidor (nombre: «{0}», servidor: «{1}») ha detectado {2} suscripciones no sincronizadas.
{3}
RunAsMicrosoft.SQLServer.Replication.Monitoring.RunAs.Monitor

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2014.Replication.Monitor.UnsyncSubscriptions" 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.DistributorUnsyncSubscriptions" ConfirmDelivery="false" RunAs="MSRL!Microsoft.SQLServer.Replication.Monitoring.RunAs.Monitor">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2014.Replication.Monitor.DistributorUnsyncSubscriptions.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Warning</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='DistributorUnsyncSubscriptions']$</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"/>
</OperationalStates>
<Configuration>
<SqlTimeout>15</SqlTimeout>
<ConnectionString>$Target/Property[Type='MSRL!Microsoft.SQLServer.Replication.Library.GenericDistributor']/ConnectionString$</ConnectionString>
<ThresholdPendingCommandForSubscription>0</ThresholdPendingCommandForSubscription>
<ThresholdUnhealthySubscriptionsCount>0</ThresholdUnhealthySubscriptionsCount>
<NumSamples>12</NumSamples>
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>