Travaux à long terme

Microsoft.SQLServer.2014.Agent.LongRunningJobs (UnitMonitor)

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.

Knowledge Base article:

Résumé

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é.

Causes

Un fonctionnement anormal est dû à un travail de l'Agent SQL Server qui s'est exécuté pendant une durée supérieure au seuil configuré. Ceci peut indiquer un problème au niveau du travail.

L’Agent SQL Server est chargé 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, par exemple l’alerte d’une personne par radiomessagerie ou message électronique, ou une tâche traitant les conditions. L’Agent SQL Server 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.

Solutions

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, si vous supposez que certains travaux de l'agent s'exécutent pendant longtemps :

Paramètres remplaçables

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

Seuil critique (en minutes)

Le moniteur passe à l’état Critique si la valeur dépasse ce seuil. Le moniteur passe à l’état Avertissement si la valeur est comprise entre ce seuil et le seuil d’avertissement inclus.

120

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)

L'intervalle de temps récurrent en secondes pendant lequel le workflow est exécuté.

600

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)

Spécifie la durée pendant laquelle le workflow est autorisé à être exécuté avant d'être fermé et marqué comme un échec.

300

Seuil d'avertissement (en minutes)

Seuil d'avertissement. Le dépassement de ce seuil a pour effet de basculer le moniteur vers l'état d’avertissement au minimum.

60

Element properties:

TargetMicrosoft.SQLServer.2014.Agent
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledFalse
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2014.AgentLongRunningJobsProvider
RemotableTrue
AccessibilityPublic
Alert Message
MSSQL 2014 : travaux de longue durée
Il existe des travaux à long terme de l'Agent sur l'instance SQL {1} de l'ordinateur {0}. Ceci peut indiquer un problème avec un ou plusieurs travaux.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2014.Agent.LongRunningJobs" Accessibility="Public" Enabled="false" Target="SQL2014Core!Microsoft.SQLServer.2014.Agent" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2014.AgentLongRunningJobsProvider" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2014.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="SQL2014Core!Microsoft.SQLServer.2014.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="SQL2014Core!Microsoft.SQLServer.2014.DBEngine"]/ConnectionString$</ConnectionString>
<Threshold1>60</Threshold1>
<Threshold2>120</Threshold2>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>