Questo monitoraggio controlla i processi di SQL Agent con esecuzione prolungata. Nota: per impostazione predefinita, questo monitoraggio è disabilitato. Usare gli override per abilitarlo quando necessario.
Questo monitoraggio controlla i processi di SQL Agent con esecuzione prolungata. Se un processo è in esecuzione per un periodo superiore alla soglia configurata, viene generato un avviso o un messaggio di errore.
Uno stato di tipo non integro viene determinato nel caso in cui un processo di SQL Server Agent sia in esecuzione per un periodo superiore alla soglia definita. Ciò può indicare che si è verificato un problema con il processo.
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.
Per identificare il processo che ha causato lo stato di avviso o di errore, esaminare i dati del contesto per lo stato di avviso o di errore.
Controllare SQL Server Management Studio per identificare i processi in esecuzione. Se questi processi sono in esecuzione per un periodo di tempo maggiore del necessario, sarà necessario esaminarli per individuare il motivo di tale comportamento.
Utilizzare sp_help_jobactivity per visualizzare le informazioni sui processi attualmente in esecuzione.
In alternativa, se è previsto che l'esecuzione dei processi di alcuni agenti sia prolungata:
Ignorare il monitoraggio per modificare le soglie per questa istanza di SQL specifica o per tutte le istanze
Disabilitare il monitoraggio di questa istanza di SQL specifica o di tutte le istanze
Nome | Descrizione | Valore predefinito |
Abilitato |
| No |
Genera avvisi |
| Sì |
Intervallo (secondi) | Intervallo di tempo ricorrente in secondi in cui eseguire il flusso di lavoro. | 600 |
Ora di sincronizzazione | Ora di sincronizzazione specificata usando il formato a 24 ore. Può essere omessa. |
|
Soglia avviso (minuti) | Soglia di avviso. Se questa soglia viene superata, lo stato del monitoraggio passerà almeno a una soglia di avviso. | 60 |
Soglia critica (minuti) | Lo stato del monitoraggio passerà a Critico se il valore supera questa soglia. Se invece il valore si trova tra questa soglia e la soglia di avviso (inclusa), il monitoraggio passerà allo stato di avviso. | 120 |
Timeout (secondi) | Specifica il tempo di esecuzione consentito per il flusso di lavoro prima che venga chiuso e contrassegnato come non riuscito. | 300 |
Target | Microsoft.SQLServer.2014.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.2014.AgentLongRunningJobsProvider | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<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>