Échec des agents de réplication sur le serveur de distribution

Microsoft.SQLServer.2008.Replication.Monitor.ReplicationAgentFailJobs (UnitMonitor)

Cette analyse vérifie l’état d’intégrité des travaux suivants de l’Agent de réplication : Agent de distribution, Agent de fusion, Agent de lecture de la file d’attente, Agent de lecture du journal ou Agent de capture instantanée. Si au moins l’un des travaux des agents est en état d’échec, l’analyse est déclenchée.

Knowledge Base article:

Résumé

Cette analyse vérifie l’état d’intégrité des travaux pour les agents de réplication suivants : Agent de distribution, Agent de fusion, Agent de lecture de la file d’attente, Agent de lecture du journal et Agent de capture instantanée. Si au moins l’un des travaux des agents est en état d’échec, l’analyse est déclenchée.

Causes

Les travaux de l'Agent de réplication peuvent échouer pour de nombreuses raisons :

Résolutions

Pour résoudre le problème, essayez de procéder comme suit :

Externe

Procédure d'activation des agents de réplication dans SQL Server en vue de la journalisation dans des fichiers de sortie :

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

Paramètres remplaçables

Nom

Description

Valeur par défaut

Priorité de l'alerte

Définit la priorité de l'alerte.

Normal

Gravité de l'alerte

Définit la gravité de l'alerte.

Avertissement

Activé

Active ou désactive le flux de travail.

Oui

Seuil du nombre de travaux en échec

Seuil du nombre de travaux en échec

1

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

Seuil par travail

Seuil par travail

1

Heure de synchronisation

Heure de synchronisation

 

Délai d'attente (secondes)

Spécifie la durée pendant laquelle le workflow est autorisé à être exécuté avant d'être fermé et marqué comme un échec.

300

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.2008.Replication.Distributor
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2008.Replication.MonitorType.DistributorFailJobs
RemotableTrue
AccessibilityPublic
Alert Message
Réplication MSSQL 2008 : travaux en échec détectés sur le serveur de distribution.
Le serveur de distribution (Nom : « {0} », Serveur : « {1} ») a détecté {2} travaux en échec.
{3}
RunAsMicrosoft.SQLServer.Replication.Monitoring.RunAs.Monitor

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2008.Replication.Monitor.ReplicationAgentFailJobs" 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.DistributorFailJobs" ConfirmDelivery="false" RunAs="MSRL!Microsoft.SQLServer.Replication.Monitoring.RunAs.Monitor">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2008.Replication.Monitor.ReplicationAgentFailJobs.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='DistributorFailJobs']$</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>
<ThresholdCountOfFailsForJob>1</ThresholdCountOfFailsForJob>
<ThresholdCountOfFailedJobs>1</ThresholdCountOfFailedJobs>
<CategoryList>Distribution</CategoryList>
<ExcludeCategoryList/>
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>