L’Agent d’abonné (Agent de distribution, Agent de lecture du journal, Agent de fusion, Agent de lecture de la file d’attente ou Agent de capture instantanée) effectue une nouvelle tentative d’analyse. Notez que le service Windows SQL Server Agent n’est pris en charge par aucune édition de SQL Server Express. Par conséquent, cette analyse ne s’applique pas aux cas SQL Server Express.
Cette analyse vérifie l’Agent d’abonné (Agent de distribution, Agent de fusion, Agent de lecture de la file d’attente ou Agent de capture instantanée), et compte les échecs consécutifs des agents. Si leur nombre dépasse le seuil défini, elle génère une alerte contenant la liste des travaux en échec. Notez que le service Windows SQL Server Agent n’est pris en charge par aucune édition de SQL Server Express. Par conséquent, cette analyse ne s’applique pas aux cas SQL Server Express.
L'échec peut avoir de nombreuses causes :
Échec de l'Agent SQL.
Problèmes de configuration de l'Agent, comme des valeurs incorrectes pour les paramètres.
Problème réseau empêchant ou ralentissant l'accès de l'agent à l'abonné ou au serveur de distribution.
Dépassement du délai d'attente d'une requête de l'Agent.
Ouvrez le moniteur de réplication ou consultez la table d'historique de l'Agent ou l'historique des travaux de l'Agent pour voir s'ils contiennent des messages d'erreur, puis examinez/corrigez les erreurs en conséquence.
Activez la journalisation détaillée de l'Agent, puis réexécutez l'Agent pour obtenir des informations détaillées
http://support.microsoft.com/kb/312292/
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 | 3 |
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 |
Target | Microsoft.SQLServer.2008.Replication.Subscriber | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | PerformanceHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SQLServer.2008.Replication.MonitorType.DistributorFailJobs | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Microsoft.SQLServer.Replication.Monitoring.RunAs.Monitor |
<UnitMonitor ID="Microsoft.SQLServer.2008.Replication.Monitor.SubscriberAgentIsRetryingMonitor" Accessibility="Public" Enabled="true" Target="MS2RD!Microsoft.SQLServer.2008.Replication.Subscriber" 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.SubscriberAgentIsRetrying.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Warning</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type='MSRL!Microsoft.SQLServer.Replication.Library.GenericSubscriber']/InstanceName$</AlertParameter1>
<AlertParameter2>$Target/Property[Type='MSRL!Microsoft.SQLServer.Replication.Library.GenericSubscriber']/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.GenericSubscriber']/ConnectionString$</ConnectionString>
<ThresholdCountOfFailsForJob>3</ThresholdCountOfFailsForJob>
<ThresholdCountOfFailedJobs>1</ThresholdCountOfFailedJobs>
<CategoryList>Distribution, LogReader, Merge, QueueReader, Snapshot</CategoryList>
<ExcludeCategoryList/>
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>