Dieser Monitor überprüft SQL Agentaufträge mit langer Ausführungszeit.
Dieser Monitor überprüft SQL Agentaufträge mit langer Ausführungszeit. Es wird eine Warnung oder Fehlerwarnung ausgelöst, wenn die Ausführungsdauer eines Auftrags über den konfigurierten Schwellenwert hinausgeht.
Ein fehlerhafter Status wird verursacht, wenn die Ausführungsdauer eines SQL Server-Agent-Auftrags den definierten Schwellenwert überschreitet. Dies kann auf ein Problem mit dem Auftrag hinweisen.
Der SQL Server-Agent ist für das Ausführen von SQL Server-Tasks verantwortlich, die so geplant sind, dass sie zu bestimmten Zeiten oder in bestimmten Intervallen auftreten und bestimmte Bedingungen feststellen, für die Administratoren eine Aktion definiert haben, z. B. Warnungen über Pager oder E-Mail oder ein Task, der die Bedingungen angeht. Der SQL Server-Agent wird auch zum Ausführen von Replikationstasks verwendet, die von Administratoren definiert wurden.
Um zu ermitteln, welcher Auftrag die Warnung oder den Fehler verursacht hat, überprüfen Sie die Kontextdaten der Statusänderung bzw. der Warnung.
Überprüfen Sie SQL Server Management Studio, um festzustellen, welche Aufträge aktuell ausgeführt werden. Wenn diese Aufträge länger ausgeführt werden als nötig, untersuchen Sie die möglichen Ursachen.
Verwenden Sie sp_help_jobactivity, um Informationen zu aktuell ausgeführten Aufträgen anzuzeigen.
Sollte eine längere Ausführungsdauer für bestimmte Aufträge erwartet werden, haben Sie folgende Möglichkeiten:
Die Überwachung außer Kraft setzen, um die Schwellenwerte für diese SQL Server-Instanz oder alle Instanzen zu ändern.
Den Monitor für diese SQL Server-Instanz oder alle Instanzen deaktivieren
Target | Microsoft.SQLServer.2008.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.2008.AgentLongRunningJobsProvider | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.2008.Agent.LongRunningJobs" Accessibility="Public" Enabled="false" Target="SQL2008Core!Microsoft.SQLServer.2008.Agent" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2008.AgentLongRunningJobsProvider" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2008.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="SQL!Microsoft.SQLServer.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="SQL!Microsoft.SQLServer.DBEngine"]/ConnectionString$</ConnectionString>
<Threshold1>60</Threshold1>
<Threshold2>120</Threshold2>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>