Ce moniteur vérifie les tâches SQL Agent de longue durée.
Notez que le service Windows de SQL Server Agent n'est pris en charge par aucune édition de SQL Server Express ; aucun objet approprié n'est découvert. Ce moniteur est désactivé par défaut. Utilisez des remplacements pour l'activer quand c'est nécessaire.
Cette analyse recherche les travaux à long terme de l'Agent SQL. Une alerte d'avertissement ou d'erreur sera déclenchée si un travail s'est exécuté pendant une durée supérieure au seuil configuré.
Un fonctionnement défectueux est dû à un travail de SQL Server Agent qui s'est exécuté pendant une durée supérieure au seuil configuré. Ceci peut indiquer un problème au niveau du travail.
SQL Server Agent est responsable de l'exécution des tâches SQL Server planifiées à des heures ou à des intervalles spécifiques ainsi que de la détection de conditions particulières pour lesquelles les administrateurs ont défini une action, comme l'alerte d'une personne par radiomessagerie ou par e-mail, ou une tâche traitant les conditions. SQL Server Agent est également utilisé pour exécuter des tâches de réplication définies par les administrateurs.
Pour identifier le travail qui a provoqué l'avertissement ou l'état d'erreur, examinez les données de contexte du changement d'état ou d'alerte.
Vérifiez SQL Server Management Studio pour identifier les travaux exécutés. Si ces travaux s'exécutent durant une période plus longue que nécessaire, analysez-les pour en connaître la raison.
Utilisez sp_help_jobactivity pour afficher des informations sur les travaux en cours d'exécution.
Sinon, s'il est prévu que l'exécution de certains travaux de l'agent dure longtemps :
Remplacez l'analyse afin de modifier les seuils de cette instance spécifique de SQL ou de toutes les instances
Désactivez l'analyse de cette instance spécifique de SQL ou de toutes les instances
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. | MatchMonitorHealth |
Activé | Active ou désactive le flux de travail. | Non |
Génère des alertes | Définit si le flux de travail génère une alerte. | Oui |
Intervalle (en secondes) | Ce moniteur utilise un script pour surveiller les travaux de longue durée. Il s'agit de l'intervalle (en secondes) entre deux exécutions de ce script. | 600 |
Seuil inférieur (minutes) | Le seuil inférieur (en minutes) pour ce moniteur. Par défaut, le dépassement de ce seuil fait que l'état du moniteur passe au moins à Avertissement. | 60 |
Heure de synchronisation | L'heure de synchronisation spécifiée dans un format de 24 heures. Peut être omise. |
|
Délai d'expiration (en secondes) | Durée d'autorisation de l'exécution du script (en secondes). | 300 |
Seuil supérieur (minutes) | Le seuil supérieur (en minutes) pour ce moniteur. Par défaut, le dépassement de ce seuil fait que l'état du moniteur passe à Critique. Si la valeur est entre ce seuil et le seuil inférieur (inclusivement), par défaut, le moniteur est dans l'état Avertissement. | 120 |
Target | Microsoft.SQLServer.2008.Agent | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | PerformanceHealth | ||
Enabled | False | ||
Alert Generate | True | ||
Alert Severity | MatchMonitorHealth | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SQLServer.2008.AgentLongRunningJobsProvider | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.2008.Agent.LongRunningJobs" Accessibility="Public" Enabled="false" Target="SQL2008Core!Microsoft.SQLServer.2008.Agent" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2008.AgentLongRunningJobsProvider" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2008.Agent.LongRunningJobs.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="SQL!Microsoft.SQLServer.ServerRole"]/InstanceName$</AlertParameter2>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="UnderThreshold1" MonitorTypeStateID="UnderThreshold1" HealthState="Success"/>
<OperationalState ID="OverThreshold1UnderThreshold2" MonitorTypeStateID="OverThreshold1UnderThreshold2" HealthState="Warning"/>
<OperationalState ID="OverThreshold2" MonitorTypeStateID="OverThreshold2" HealthState="Error"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>600</IntervalSeconds>
<SyncTime/>
<ConnectionString>$Target/Host/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ConnectionString$</ConnectionString>
<Threshold1>60</Threshold1>
<Threshold2>120</Threshold2>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>