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.
Questa regola rileva gli errori solo per i processi per cui è disponibile la notifica del registro eventi in caso di esito negativo del processo. Per configurare un processo con la notifica del registro eventi, effettuare 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, visualizzare gli eventi associati a questo avviso al fine di individuare i processi e i passaggi dei processi non riusciti. Esaminare inoltre i valori della cronologia del processo per determinare la data dell'ultima esecuzione del processo. Per visualizzare i valori della cronologia del processo, attenersi alla procedura riportata di seguito.
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 con cui vengono eseguiti i servizi SQL Server Agent sia membro del gruppo Domain Users. L'account di sistema locale non ha 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 | Abilita o disabilita il flusso di lavoro. | No |
Priorità | Definisce la priorità dell'avviso. | 1 |
Gravità | Definisce la gravità dell'avviso. | 2 |
Target | Microsoft.SQLServer.2008.Agent | ||
Category | EventCollection | ||
Enabled | False | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Remotable | True | ||
Alert Message |
| ||
Event Log | Application | ||
Comment | Mom2008ID='{8CCE3391-B79E-4182-922E-BB540ED8396E}';MOM2008GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74} |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
_F6DA1507_12AF_11D3_AB21_00A0C98620CE_ | DataSource | Microsoft.Windows.EventProvider | Microsoft.SQLServer.SQLDefaultAccount |
GenerateAlert | WriteAction | System.Health.GenerateAlert | Default |
<Rule ID="Microsoft.SQLServer.2008.A_SQL_job_failed_to_complete_successfully_1_5_Rule" Target="SQL2008Core!Microsoft.SQLServer.2008.Agent" Enabled="false" ConfirmDelivery="true" Remotable="true" Comment="Mom2008ID='{8CCE3391-B79E-4182-922E-BB540ED8396E}';MOM2008GroupID={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" RunAs="SQL!Microsoft.SQLServer.SQLDefaultAccount">
<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="SQL!Microsoft.SQLServer.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.2008.A_SQL_job_failed_to_complete_successfully_1_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>Event ID: $Data/EventDisplayNumber$. $Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/Params/Param[1]$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>