Ce moniteur vérifie l'état du service de l'Agent de lecture du journal de réplication pour les publications.
L'Agent de lecture du journal des réplications est un fichier exécutable qui analyse le journal des transactions de chaque base de données configurée pour la réplication transactionnelle. L'Agent de lecture du journal copie les transactions marquées pour la réplication à partir du journal des transactions vers la base de données de distribution.
Un agent de lecture du journal peut rencontrer un échec pour des raisons telles que celles décrites ci-dessous :
L'Agent de lecture du journal ne peut pas se connecter à la base de données du serveur de publication ou à la base de données de distribution.
L'Agent de lecture du journal ne peut pas exécuter sp_replcmds/sp_replcounters sur la base de données du serveur de publication.
L'Agent de lecture du journal ne peut pas exécuter sp_repldone sur la base de données du serveur de publication.
Échec de l'Agent de lecture du journal avec des erreurs de dépassement du délai d'attente de la requête.
Épuisement de la mémoire pour le tas du Bureau non interactif.
Paramètres incorrects passés à l'exécutable de l'Agent.
Ce problème peut être résolu via les actions suivantes :
Attribution d'un accès dbo au compte de connexion du serveur de publication.
En augmentant la valeur du paramètre de délai de requête et en s'assurant que l'Agent de lecture du journal n'est pas bloqué ou en attente de ressources
En exécutant sp_replcmds manuellement sur la base de données du serveur de publication à l'aide du compte de connexion du serveur de publication.
Exécutez sp_replflush pour désactiver tout autre client exécutant des procédures stockées de réplication sur la base de données du serveur de publication.
Vérifiez que les paramètres transmis à l'exécutable de l'Agent sont corrects.
Augmentez le segment de Bureau comme décrit dans http://support.microsoft.com/kb/949296
! FACTICE ! http://technet.microsoft.com/library/ms146878.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.2012.Replication.Publication | ||
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.2012.Replication.MonitorType.ReplicationAgentState | ||
Remotable | True | ||
Accessibility | Internal | ||
Alert Message |
| ||
RunAs | Microsoft.SQLServer.Replication.Monitoring.RunAs.Monitor |
<UnitMonitor ID="Microsoft.SQLServer.2012.Replication.Monitor.PublicationLogReaderAgentState" Accessibility="Internal" Enabled="true" Target="MS2RD!Microsoft.SQLServer.2012.Replication.Publication" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2012.Replication.MonitorType.ReplicationAgentState" ConfirmDelivery="false" RunAs="MSRL!Microsoft.SQLServer.Replication.Monitoring.RunAs.Monitor">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2012.Replication.Monitor.PublicationLogReaderAgentState.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/Host/Property[Type='MSRL!Microsoft.SQLServer.Replication.Library.GenericPublisher']/Distributor$</ConnectionString>
<XPathName>Log reader$Target/Host/Property[Type='MSRL!Microsoft.SQLServer.Replication.Library.GenericPublisher']/Distributor$$Target/Host/Property[Type='MSRL!Microsoft.SQLServer.Replication.Library.GenericPublisher']/DistributorDatabaseName$$Target/Host/Property[Type='MSRL!Microsoft.SQLServer.Replication.Library.GenericPublisher']/ConnectionString$$Target/Property[Type='MSRL!Microsoft.SQLServer.Replication.Library.GenericPublication']/PublicationName$</XPathName>
<ShowJobsWithUnknownState>false</ShowJobsWithUnknownState>
<EstimatedJobDuration>15</EstimatedJobDuration>
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
</Configuration>
</UnitMonitor>