Ce moniteur vérifie l'état des agents de fusion pour tous les abonnements sur le serveur de distribution.
L'Agent de fusion de réplication est un fichier exécutable d'utilitaire qui applique l'instantané initial contenu dans les tables de base de données aux Abonnés. Il fusionne également les modifications de données incrémentielles ayant eu lieu sur le serveur de publication après la création de la capture instantanée initiale, puis résout les conflits, soit en fonction des règles que vous configurez, soit à l'aide d'un programme de résolution personnalisé que vous créez.
Un agent de fusion peut échouer pour l'une des raisons suivantes :
L'Agent de fusion ne peut pas se connecter au serveur de publication.
L'Agent de fusion ne peut pas se connecter à l'abonné.
Les métadonnées de réplication de fusion ont été supprimées sur l'abonné.
Cela peut se produire quand l'Agent de fusion ne s'est pas synchronisé au cours de la période de rétention définie.
L'abonnement est marqué comme ayant expiré.
Erreurs de dépassement du délai d'attente de la requête.
Erreurs de connectivité réseau.
L'Agent de fusion ne peut pas démarrer en raison d'un épuisement de la mémoire pour le segment de Bureau non-interactif.
Paramètres incorrects passés à l'exécutable de l'Agent.
Ce problème peut être résolu en s'assurant que :
L'Agent de fusion ne peut pas se connecter à la fois au serveur de publication et à l'abonné.
Assurez-vous que le compte de l'Agent de fusion est ajouté au rôle fixe db_owner sur les bases de données de distribution et d'abonné.
Quand l'abonnement est marqué pour expiration, réinitialisez-le.
Il n'y a pas de problèmes de réseau ou de connectivité entre les serveurs quand l'Agent de fusion est en cours d'exécution.
Si les métadonnées d'abonnement sont supprimées sur le serveur de publication, abandonnez et recréez l'abonnement.
Cela peut se produire quand l'Agent de fusion ne s'est pas synchronisé au cours de la période de rétention.
Assurez-vous que les paramètres corrects sont transmis à l’Agent de fusion .
Interrogez les tables msmerge_agents et msmerge_history sur la base de données de distribution pour obtenir plus d'informations sur l'échec de l'Agent. La table Msrepl_errors contient également des informations sur les échecs d'agents.
! FACTICE ! Problème de tas du Bureau
! FACTICE ! http://support.microsoft.com/kb/949296
Agent de fusion de la réplication
! FACTICE ! http://msdn.microsoft.com/library/ms147839.aspx
Nom | Description | Valeur par défaut |
Activé | Active ou désactive le flux de travail | Oui |
Génère des alertes | Définit si le flux de travail génère une alerte | Oui |
Intervalle (secondes) | Intervalle de temps récurrent en secondes, pendant lequel le workflow est exécuté. | 300 |
Afficher les travaux avec un état inconnu | Inclure les travaux dont l'état est inconnu à la sortie d'analyse et au contexte de l'alerte. Cela affecte l'intégrité | Non |
Délai d'attente (secondes) | Délai d'attente (secondes) | 300 |
Heure de synchronisation | Heure de synchronisation |
|
Target | Microsoft.SQLServer.2008.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.2008.Replication.MonitorType.ReplicationAgentState | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Microsoft.SQLServer.Replication.Monitoring.RunAs.Monitor |
<UnitMonitor ID="Microsoft.SQLServer.2008.Replication.Monitor.MergeAgentState" Accessibility="Public" Enabled="true" Target="MS2RD!Microsoft.SQLServer.2008.Replication.Distributor" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2008.Replication.MonitorType.ReplicationAgentState" ConfirmDelivery="false" RunAs="MSRL!Microsoft.SQLServer.Replication.Monitoring.RunAs.Monitor">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2008.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>300</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/>
</Configuration>
</UnitMonitor>