Ce moniteur vérifie l'état du service de l'agent d'instantané de réplication pour les publications.
Ce moniteur vérifie l'état du service de l'agent d'instantané de réplication pour les publications. L'agent d'instantané prépare les fichiers d'instantané contenant les schémas ainsi que les données des tables et des objets de base de données publiés, stocke les fichiers dans le dossier d'instantanés du serveur de publication, et enregistre les informations de suivi dans la base de données de distribution sur le serveur de distribution.
Un agent d'instantané peut échouer pour l'une des raisons suivantes :
Pas d'espace libre disponible dans le dossier des captures instantanées.
Autorisations d'écriture manquantes sur le dossier des captures instantanées
L'agent d'instantané ne peut pas se connecter à la base de données du serveur de publication.
L'agent d'instantané ne peut pas se connecter à la base de données de distribution.
Erreurs de dépassement du délai d'attente de la requête.
Pour résoudre ce problème d'erreur de l'Agent, assurez-vous des points suivants :
Le compte de l'agent d'instantané a des autorisations d'accès en lecture et en écriture sur le dossier d'instantanés
Il y a suffisamment d'espace libre disponible sur le support pour le dossier de captures instantanées
L'ID de connexion du serveur de publication est membre du rôle de base de données fixe db_owner
L'ID de connexion du serveur de distribution est membre du rôle de base de données fixe db_owner
L'agent d'instantané n'est pas bloqué par un autre processus (SPID) ni en attente de wait_type. Il peut s'agir d'un conflit de ressources.
Les tables mssnapshot_agents et mssnapshot_history peuvent être interrogées sur la base de données de distribution pour obtenir des informations supplémentaires sur l'échec de l'Agent. La table Msrepl_errors contient également des informations sur les échecs d'agents.
http://technet.microsoft.com/library/ms146939.aspx
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 |
Target | Microsoft.SQLServer.Replication.Windows.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.Replication.Windows.MonitorType.ReplicationAgentState | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Microsoft.SQLServer.Core.RunAs.Monitoring |
<UnitMonitor ID="Microsoft.SQLServer.Replication.Windows.Monitor.PublicationSnapshotAgentState" Accessibility="Public" Enabled="true" Target="SQLReplWD!Microsoft.SQLServer.Replication.Windows.Publication" 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.PublicationSnapshotAgentState.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>
<InstanceName>$Target/Host/Host/Property[Type='SqlCoreLib!Microsoft.SQLServer.Core.DBEngine']/InstanceName$</InstanceName>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<ConnectionString>$Target/Host/Property[Type='MSRL!Microsoft.SQLServer.Replication.Core.GenericPublisher']/Distributor$</ConnectionString>
<MonitoringType>$Target/Host/Host/Property[Type="SqlDiscW!Microsoft.SQLServer.Windows.DBEngine"]/MonitoringType$</MonitoringType>
<XPathName>Snapshot$Target/Host/Property[Type='MSRL!Microsoft.SQLServer.Replication.Core.GenericPublisher']/Distributor$$Target/Host/Property[Type='MSRL!Microsoft.SQLServer.Replication.Core.GenericPublisher']/DistributorDatabaseName$$Target/Host/Property[Type='MSRL!Microsoft.SQLServer.Replication.Core.GenericPublisher']/ConnectionString$$Target/Property[Type='MSRL!Microsoft.SQLServer.Replication.Core.GenericPublication']/PublicationName$</XPathName>
<ShowJobsWithUnknownState>false</ShowJobsWithUnknownState>
<EstimatedJobDuration>15</EstimatedJobDuration>
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
<TimeoutSeconds>200</TimeoutSeconds>
<CheckMachineAndInstanceName>false</CheckMachineAndInstanceName>
</Configuration>
</UnitMonitor>