Un processo di SQL Server Agent non è riuscito. SQL Server Agent è responsabile dell'esecuzione di attività di SQL Server in base a orari o intervalli pianificati, nonché del rilevamento di condizioni specifiche per le quali gli amministratori hanno definito un'azione, ad esempio la notifica tramite cercapersone o posta elettronica oppure un'attività in grado di risolvere tali condizioni. SQL Server Agent viene inoltre usato per l'esecuzione di attività di replica definite dagli amministratori. Nota: per impostazione predefinita, questa regola è disabilitata. Usare gli override per abilitarla quando necessario.
Processo di SQL Server Agent non riuscito. SQL Server Agent è responsabile dell'esecuzione di attività di SQL Server in base a orari o intervalli pianificati, nonché del rilevamento di condizioni specifiche per le quali gli amministratori hanno definito un'azione, ad esempio la notifica tramite cercapersone o posta elettronica oppure un'attività in grado di risolvere tali condizioni. SQL Server Agent viene inoltre utilizzato per l'esecuzione di attività di replica definite dagli amministratori.
Questa regola rileva gli errori solo per i processi per cui è disponibile la notifica del log eventi in caso di esito negativo del processo. Per configurare un processo con la notifica del log eventi, è possibile eseguire le operazioni seguenti:
Eseguire SQL Server Management Studio.
Espandere un gruppo di server, quindi un server.
Espandere Gestione, quindi SQL Server Agent.
Fare clic con il pulsante destro del mouse sul processo appropriato, quindi scegliere "Proprietà".
Selezionare la sezione "Notifiche".
Selezionare la casella di controllo "Scrivi nel registro eventi applicazioni di Windows".
Selezionare "In caso di esito negativo del processo" o "Al termine del processo".
Per risolvere il problema, esaminare l'evento associato all'avviso per stabilire i processi e i passaggi dei processi specifici non riusciti. Controllare anche i risultati cronologici del processo per determinare la data dell'ultima esecuzione del processo. Per visualizzare la cronologia delle esecuzioni del processo, è possibile eseguire le operazioni seguenti:
Eseguire SQL Server Management Studio.
Espandere un gruppo di server, quindi un server.
Espandere Gestione, quindi SQL Server Agent.
Fare clic con il pulsante destro del mouse sul processo appropriato e scegliere "Visualizza cronologia processi".
Verificare inoltre che l'account del servizio usato da SQL Server Agent sia membro del gruppo Domain Users. L'account LocalSystem non dispone di diritti di accesso alla rete e se i processi richiedono risorse di rete o se devono essere notificate informazioni agli operatori tramite cercapersone o posta elettronica, è necessario impostare l'account con cui viene eseguito il servizio SQL Server Agent come membro del gruppo Domain Users.
Nome | Descrizione | Valore predefinito |
Abilitato |
| No |
Genera avvisi |
| Sì |
Priorità |
| 1 |
Gravità |
| 2 |
Target | Microsoft.SQLServer.2014.Agent | ||
Category | EventCollection | ||
Enabled | False | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Remotable | True | ||
Alert Message |
| ||
Event Log | Application | ||
Comment | Mom2014ID='{8CCE3391-B79E-4182-922E-BB540ED8396E}';MOM2014GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74} |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
_F6DA1507_12AF_11D3_AB21_00A0C98620CE_ | DataSource | Microsoft.Windows.EventProvider | Default |
GenerateAlert | WriteAction | System.Health.GenerateAlert | Default |
<Rule ID="Microsoft.SQLServer.2014.A_SQL_job_failed_to_complete_successfully_1_5_Rule" Target="SQL2014Core!Microsoft.SQLServer.2014.Agent" Enabled="false" ConfirmDelivery="true" Remotable="true" Comment="Mom2014ID='{8CCE3391-B79E-4182-922E-BB540ED8396E}';MOM2014GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="_F6DA1507_12AF_11D3_AB21_00A0C98620CE_" Comment="{F6DA1507-12AF-11D3-AB21-00A0C98620CE}" TypeID="Windows!Microsoft.Windows.EventProvider">
<ComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>Application</LogName>
<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="SQL2014Core!Microsoft.SQLServer.2014.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="SystemHealth!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>2</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.2014.A_SQL_job_failed_to_complete_successfully_1_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/Params/Param[1]$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>