Ce moniteur vérifie si l'Agent SQL Server est en cours d'exécution sur le serveur de publication.
Ce moniteur se connecte au serveur de publication de réplication, et vérifie si le service SQL Server Agent est en cours d'exécution. Le service SQL Server Agent est installé automatiquement lors de l'installation de SQL Server. La réplication utilise ce service Windows pour démarrer et arrêter les travaux de réplication de SQL Server Agent, responsables du déplacement des données.
Le service SQL Server Agent peut être arrêté manuellement ou à la suite d'un échec de l'Agent. Examinez le journal des événements de l'application Windows pour déterminer les causes possibles d'un arrêt inattendu du service de l'Agent.
Si le « Mode de démarrage » de l’Agent est défini sur « Manuel » plutôt que sur « Automatique », le service SQL Server Agent ne redémarre pas automatiquement lors du redémarrage du serveur.
Démarrez le service SQL Server Agent sous Services Windows, Gestionnaire de configuration SQL Server, ou via SQL Server Management Studio. Si le « Mode de démarrage » de l’Agent est défini sur « Manuel », envisagez de le définir sur « Automatique ».
Démarrez, arrêtez ou suspendez l’exécution du service SQL Server Agent http://technet.microsoft.com/library/ms190695.aspx
Sur le serveur de publication, en plus de l'agent d'instantané, de l'agent de lecture du journal et de l'agent de distribution push, le service SQL Server Agent est responsable de l'exécution de divers agents comme les agents « Nettoyage de l'historique de l'agent : distribution », « Nettoyage de la distribution : distribution » et « Nettoyage de l'abonnement expiré ».
Pour afficher le journal des erreurs de SQL Server Agent, utilisez le lien suivant : http://msdn.microsoft.com/library/ms175488.aspx
Cette rubrique décrit comment configurer Microsoft SQL Server Agent pour qu'il redémarre automatiquement en cas d'arrêt inattendu dans SQL Server sur Windows. https://msdn.microsoft.com/library/ms178130.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 |
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. | 600 |
Heure de synchronisation | Heure de la synchronisation spécifiée selon un format de 24 heures. Peut être omise. |
|
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é. | 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.Replication.Windows.Publisher | ||
Parent Monitor | System.Health.AvailabilityState | ||
Category | AvailabilityHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SQLServer.Replication.Windows.MonitorType.SqlServiceStatus | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Microsoft.SQLServer.Core.RunAs.Monitoring |
<UnitMonitor ID="Microsoft.SQLServer.Replication.Windows.Monitor.Publisher.SQLServerAgentState" Accessibility="Public" Enabled="true" Target="SQLReplWD!Microsoft.SQLServer.Replication.Windows.Publisher" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.Replication.Windows.MonitorType.SqlServiceStatus" ConfirmDelivery="false" RunAs="SqlCoreLib!Microsoft.SQLServer.Core.RunAs.Monitoring">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.Replication.Windows.Monitor.Publisher.SQLServerAgentState.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Host/Property[Type='SqlCoreLib!Microsoft.SQLServer.Core.DBEngine']/MachineName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type='SqlCoreLib!Microsoft.SQLServer.Core.DBEngine']/InstanceName$</AlertParameter2>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Success" MonitorTypeStateID="Running" HealthState="Success"/>
<OperationalState ID="Warning" MonitorTypeStateID="RunningManualOrUnableToDetectStatus" HealthState="Warning"/>
<OperationalState ID="Error" MonitorTypeStateID="NotRunning" HealthState="Error"/>
</OperationalStates>
<Configuration>
<MachineName>$Target/Host/Property[Type='SqlCoreLib!Microsoft.SQLServer.Core.DBEngine']/MachineName$</MachineName>
<InstanceName>$Target/Host/Property[Type='SqlCoreLib!Microsoft.SQLServer.Core.DBEngine']/InstanceName$</InstanceName>
<ConnectionString>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/ConnectionString$</ConnectionString>
<MonitoringType>$Target/Host/Property[Type="SqlDiscW!Microsoft.SQLServer.Windows.DBEngine"]/MonitoringType$</MonitoringType>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<TimeoutSeconds>300</TimeoutSeconds>
<IntervalSeconds>600</IntervalSeconds>
<SyncTime/>
</Configuration>
</UnitMonitor>