Este monitor comprueba el estado de los agentes de mezcla para todas las suscripciones del distribuidor.
El agente de mezcla de replicación es un ejecutable de utilidad que aplica la instantánea inicial de las tablas de la base de datos a los suscriptores. También mezcla los cambios de datos incrementales producidos en el publicador tras la creación de la instantánea inicial y concilia los conflictos de acuerdo con las reglas que configura o usando una resolución personalizada creada por usted.
Los agentes de mezcla pueden fallar debido a alguna de las siguientes razones:
El agente de mezcla no se puede conectar al publicador.
El agente de mezcla no se puede conectar al suscriptor.
Se ha eliminado la replicación de mezcla en el suscriptor. Esto puede ocurrir si el agente de mezcla no se ha sincronizado en el período de retención definido.
La suscripción está marcada como caducada.
Errores de tiempo de espera de la consulta.
Errores de conectividad de red.
El agente de mezcla no puede iniciarse debido al agotamiento de la memoria para el montón del escritorio no interactivo.
Parámetros incorrectos pasados al agente ejecutable.
Este problema se puede resolver asegurándose de que:
El agente de mezcla puede conectarse tanto con el publicador como con el suscriptor. Asegúrese de que la cuenta del agente de mezcla se agrega en el rol fijo db_owner en las bases de datos del publicador y del suscriptor.
Si la suscripción se marca para expirar, reinicialice la suscripción.
No hay problemas de red ni de conectividad entre los servidores cuando se ejecuta el agente de mezcla.
Si se eliminan los metadatos de suscripción en el publicador, cancele la suscripción y vuelva a crearla. Esto puede ocurrir si el agente de mezcla no se ha sincronizado con el período de retención.
Asegúrese de que se pasan los parámetros correctos al agente de mezcla.
Consulte las tablas msmerge_agents y msmerge_history en la base de datos de distribución para obtener más información acerca del fallo del agente. La tabla Msrepl_errors también contiene información acerca de los fallos de los agentes.
Problema con el montón del escritorio
http://support.microsoft.com/kb/949296
Agente de mezcla de replicación
http://msdn.microsoft.com/library/ms147839.aspx
Nombre | Descripción | Valor predeterminado |
Prioridad de alerta | Define la prioridad de la alerta. | Normal |
Gravedad de alerta | Define la gravedad de la alerta. | Error |
Habilitado | Habilita o deshabilita el flujo de trabajo. | Sí |
Duración estimada del trabajo | Umbral que se usa para comprobar el cumplimiento del programa de trabajos | 15 |
Genera alertas | Define si el flujo de trabajo genera una alerta. | Sí |
Intervalo (segundos) | Intervalo de tiempo periódico en segundos en que se ejecuta el flujo de trabajo. | 300 |
Muestra trabajos con estado desconocido | Incluya trabajos con estado desconocido en el contexto de alerta y salida del monitor. Afectará al estado. | No |
Tiempo de sincronización | Tiempo de sincronización |
|
Tiempo de espera (segundos) | Especifica el tiempo durante el que se puede ejecutar el flujo de trabajo antes de que se cierre y se marque como error. | 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 |
Target | Microsoft.SQLServer.2014.Replication.Distributor | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | PerformanceHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SQLServer.2014.Replication.MonitorType.ReplicationAgentState | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Microsoft.SQLServer.Replication.Monitoring.RunAs.Monitor |
<UnitMonitor ID="Microsoft.SQLServer.2014.Replication.Monitor.MergeAgentState" 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.ReplicationAgentState" ConfirmDelivery="false" RunAs="MSRL!Microsoft.SQLServer.Replication.Monitoring.RunAs.Monitor">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2014.Replication.Monitor.MergeAgentState.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Property[@Name='Message']$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Health" MonitorTypeStateID="Health" HealthState="Success"/>
<OperationalState ID="Error" MonitorTypeStateID="Error" HealthState="Error"/>
<OperationalState ID="Warning" MonitorTypeStateID="Warning" HealthState="Warning"/>
</OperationalStates>
<Configuration>
<SqlTimeout>15</SqlTimeout>
<ConnectionString>$Target/Property[Type='MSRL!Microsoft.SQLServer.Replication.Library.GenericDistributor']/ConnectionString$</ConnectionString>
<XPathName>Merge$Target/Property[Type='MSRL!Microsoft.SQLServer.Replication.Library.GenericDistributor']/ConnectionString$</XPathName>
<ShowJobsWithUnknownState>false</ShowJobsWithUnknownState>
<EstimatedJobDuration>15</EstimatedJobDuration>
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>