MSSQL sur Windows : L'exécution d'un travail SQL a échoué

Microsoft.SQLServer.Windows.CollectionRule.Agent.A_SQL_job_failed_to_complete_successfully_1_5_Rule (Rule)

Un travail de SQL Server Agent a échoué. 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 répondant aux conditions. SQL Server Agent est également utilisé pour exécuter des tâches de réplication définies par les administrateurs. Remarque : Cette règle est désactivée par défaut. Utilisez des remplacements pour l'activer en cas de besoin.

Knowledge Base article:

Résumé

Un travail de SQL Server Agent a échoué. 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 répondant aux conditions. SQL Server Agent est également utilisé pour exécuter des tâches de réplication définies par les administrateurs.

Note that this rule does not work if SQL Server on Windows instance is monitored agentlessly.

Configuration

Cette règle détecte uniquement l'échec des travaux indiqué par une notification d'échec dans le journal des événements. Pour configurer un travail avec une notification dans le journal des événements, vous pouvez procéder comme suit :

Résolutions

Pour résoudre cet échec, consultez les événements associés à l'alerte pour déterminer les travaux et étapes spécifiques ayant échoué. Vérifiez également les résultats historiques du travail pour déterminer la date de dernière exécution du travail. Pour consulter l'historique d'exécution du travail, procédez comme suit :

Par ailleurs, vérifiez si le compte de service utilisé par SQL Server Agent est membre du groupe Utilisateurs du domaine. Le compte LocalSystem n'a pas de droits d'accès au réseau. Par conséquent, si vos travaux nécessitent des ressources sur le réseau ou si vous voulez notifier les opérateurs par radiomessagerie ou par e-mail, vous devez définir le compte utilisé par le service SQL Server Agent comme membre du groupe Utilisateurs du domaine.

Paramètres remplaçables

Nom

Description

Valeur par défaut

Autoriser l'utilisation de proxy

Spécifie si le module doit collecter des événements qui ne proviennent pas de l'ordinateur spécifié dans le paramètre ComputerName.

Non

Activé

Active ou désactive le flux de travail.

Non

Priorité

Définit la priorité de l'alerte.

1

Gravité

Définit la gravité de l'alerte.

2

Element properties:

TargetMicrosoft.SQLServer.Windows.Agent
CategoryEventCollection
EnabledFalse
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
RemotableTrue
Alert Message
MSSQL sur Windows : L'exécution d'un travail SQL a échoué
ID d'événement : {0}. Travail SQL Server planifié « {1} » ({2}) - État : {3} - Appelé sur : {4} - Message : {5}
CommentMom2017ID='{8CCE3391-B79E-4182-922E-BB540ED8396E}';MOM2017GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}

Member Modules:

ID Module Type TypeId RunAs 
_F6DA1507_12AF_11D3_AB21_00A0C98620CE_ DataSource Microsoft.SQLServer.Windows.EventProvider Default
GenerateAlert WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="Microsoft.SQLServer.Windows.CollectionRule.Agent.A_SQL_job_failed_to_complete_successfully_1_5_Rule" Target="SqlDiscW!Microsoft.SQLServer.Windows.Agent" Enabled="false" ConfirmDelivery="true" Remotable="true" Comment="Mom2017ID='{8CCE3391-B79E-4182-922E-BB540ED8396E}';MOM2017GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="_F6DA1507_12AF_11D3_AB21_00A0C98620CE_" Comment="{F6DA1507-12AF-11D3-AB21-00A0C98620CE}" TypeID="Microsoft.SQLServer.Windows.EventProvider">
<ComputerName>$Target/Property[Type="SqlDiscW!Microsoft.SQLServer.Windows.Agent"]/ComputerName$</ComputerName>
<LogName>Application</LogName>
<AllowProxying>false</AllowProxying>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>208</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>$Target/Property[Type="SqlDiscW!Microsoft.SQLServer.Windows.Agent"]/ServiceName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>Params/Param[3]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>Failed</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="Health!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>2</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.Windows.CollectionRule.Agent.A_SQL_job_failed_to_complete_successfully_1_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDisplayNumber$</AlertParameter1>
<AlertParameter2>$Data/Params/Param[1]$</AlertParameter2>
<AlertParameter3>$Data/Params/Param[2]$</AlertParameter3>
<AlertParameter4>$Data/Params/Param[3]$</AlertParameter4>
<AlertParameter5>$Data/Params/Param[4]$</AlertParameter5>
<AlertParameter6>$Data/Params/Param[5]$</AlertParameter6>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/Params/Param[1]$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>