État de l'Agent de fusion de réplication pour l'abonnement

Microsoft.SQLServer.Replication.Windows.Monitor.SubscriptionMergeAgentState (UnitMonitor)

Ce moniteur vérifie l'état des services de l'agent de fusion de réplication pour l'abonnement. Notez que le service Windows SQL Server Agent n'est pris en charge par aucune édition de SQL Server Express. Par conséquent, ce moniteur ne s'applique pas aux cas SQL Server Express.

Knowledge Base article:

Récapitulatif

L'agent de fusion de réplication est un exécutable qui applique l'instantané initial contenu dans les tables de base de données aux abonnés. Il fusionne également les changements de données incrémentiels survenus sur le serveur de publication après la création de l'instantané initial. L'agent résout aussi les conflits à l'aide des règles configurées ou d'un programme de résolution personnalisé. Notez que le service Windows SQL Server Agent n'est pris en charge par aucune édition de SQL Server Express. Par conséquent, ce moniteur ne s'applique pas aux cas SQL Server Express.

Causes

Un agent de fusion peut échouer pour l'une des raisons suivantes :

Résolutions

Ce problème peut être résolu en s'assurant que :

Supplémentaire

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.

Externe

Problème de tas du Bureau

http://support.microsoft.com/kb/949296

Agent de fusion de la réplication

http://msdn.microsoft.com/library/ms147839.aspx

Paramètres remplaçables

Nom

Description

Valeur par défaut

Priorité d'alerte

Définit la priorité de l'alerte.

Normale

Gravité d'alerte

Définit la gravité de l'alerte.

Erreur

Activé

Active ou désactive le flux de travail.

Oui

Durée estimée du travail

Seuil utilisé pour vérifier la conformité de la planification du travail

15

Génère des alertes

Définit si le flux de travail génère une alerte.

Oui

Intervalle (en secondes)

Intervalle régulier (en secondes) auquel exécuter le flux de travail.

300

Afficher les travaux avec un état inconnu

Incluez les travaux dont l’état est inconnu dans la sortie de l’analyse et le contexte de l’alerte. Cela affecte l’intégrité.

Non

Heure de synchronisation

Heure de synchronisation

 

Délai d'attente (secondes)

Spécifie la durée pendant laquelle le flux de travail est autorisé à s'exécuter avant d'être fermé et marqué comme ayant échoué.

200

Délai d’attente pour la connexion de base de données (secondes)

Le workflow échoue et enregistre un événement s’il ne peut pas accéder à la base de données pendant la période spécifiée.

15

Element properties:

TargetMicrosoft.SQLServer.Replication.Windows.Subscription
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.Replication.Windows.MonitorType.ReplicationAgentState
RemotableTrue
AccessibilityPublic
Alert Message
Réplication MSSQL sur Windows : L'agent de fusion pour l'abonnement a une erreur.
{0}
RunAsMicrosoft.SQLServer.Core.RunAs.Monitoring

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.Replication.Windows.Monitor.SubscriptionMergeAgentState" Accessibility="Public" Enabled="true" Target="SQLReplWD!Microsoft.SQLServer.Replication.Windows.Subscription" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.Replication.Windows.MonitorType.ReplicationAgentState" ConfirmDelivery="false" RunAs="SqlCoreLib!Microsoft.SQLServer.Core.RunAs.Monitoring">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.Replication.Windows.Monitor.SubscriptionMergeAgentState.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>
<MachineName>$Target/Host/Host/Property[Type='SqlCoreLib!Microsoft.SQLServer.Core.DBEngine']/MachineName$</MachineName>
<NetbiosComputerName>$Target/Host/Host/Property[Type='SqlCoreLib!Microsoft.SQLServer.Core.DBEngine']/NetbiosComputerName$</NetbiosComputerName>
<InstanceName>$Target/Host/Host/Property[Type='SqlCoreLib!Microsoft.SQLServer.Core.DBEngine']/InstanceName$</InstanceName>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<ConnectionString>$Target/Property[Type='MSRL!Microsoft.SQLServer.Replication.Core.GenericSubscription']/Distributor$</ConnectionString>
<MonitoringType>$Target/Host/Host/Property[Type="SqlDiscW!Microsoft.SQLServer.Windows.DBEngine"]/MonitoringType$</MonitoringType>
<XPathName>Merge$Target/Property[Type='MSRL!Microsoft.SQLServer.Replication.Core.GenericSubscription']/Distributor$$Target/Host/Property[Type='MSRL!Microsoft.SQLServer.Replication.Core.GenericSubscriber']/ConnectionString$$Target/Property[Type='MSRL!Microsoft.SQLServer.Replication.Core.GenericSubscription']/SubscriptionName$</XPathName>
<ShowJobsWithUnknownState>false</ShowJobsWithUnknownState>
<EstimatedJobDuration>15</EstimatedJobDuration>
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
<TimeoutSeconds>200</TimeoutSeconds>
<CheckMachineAndInstanceName>false</CheckMachineAndInstanceName>
</Configuration>
</UnitMonitor>