Aufträge mit langer Ausführungszeit

Microsoft.SQLServer.2008.Agent.LongRunningJobs (UnitMonitor)

Dieser Monitor sucht nach SQL Agent-Aufträgen mit langer Ausführungszeit.
Beachten Sie, dass der Windows-Dienst des SQL Server-Agents von keiner Edition von SQL Server Express unterstützt wird; es ist kein geeignetes Ermittlungsobjekt vorhanden. Dieser Monitor ist standardmäßig deaktiviert. Verwenden Sie ggf. Überschreibungen, um den Monitor zu aktivieren.

Knowledge Base article:

Zusammenfassung

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.

Ursachen

Der fehlerhafte Zustand 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 erkennen, 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.

Lösungen

Ü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:

Überschreibbare Parameter

Name

Beschreibung

Standardwert

Warnungspriorität

Definiert die Warnungspriorität.

Normal

Warnungsschweregrad

Definiert den Warnungsschweregrad.

MatchMonitorHealth

Aktiviert

Aktiviert oder deaktiviert den Workflow.

Nein

Generiert Warnungen

Definiert, ob der Workflow eine Warnung generiert.

Ja

Intervall (Sekunden)

Dieser Monitor verwendet ein Skript zur Überwachung von Aufträgen mit langer Ausführungszeit. Dies ist das Intervall (in Sekunden) zwischen den Ausführungen dieses Skripts.

600

Unterer Schwellenwert (Minuten)

Der untere Schwellenwert (in Minuten) für diesen Monitor. Standardmäßig führt das Überschreiten dieses Schwellenwerts dazu, dass der Monitor mindestens in einen Warnstatus wechselt.

60

Synchronisierungszeit

Die in einem 24-Stunden-Format angegebene Synchronisierungszeit. Kann ausgelassen werden.

 

Timeout (Sekunden)

Die zulässige Ausführungsdauer für das Skript (in Sekunden).

300

Oberer Schwellenwert (Minuten)

Der obere Schwellenwert (in Minuten) für diesen Monitor. Standardmäßig führt das Überschreiten dieses Schwellenwerts dazu, dass der Monitor in einen kritischen Status wechselt. Ein Wert zwischen diesem Schwellenwert und dem unteren Schwellenwert (einschließlich) führt (standardmäßig) dazu, dass der Monitor einen Warnstatus aufweist.

120

Element properties:

TargetMicrosoft.SQLServer.2008.Agent
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledFalse
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2008.AgentLongRunningJobsProvider
RemotableTrue
AccessibilityPublic
Alert Message
Aufträge mit langer Ausführungszeit
In der SQL-Instanz {0} auf Computer {1} werden Agentaufträge mit langer Ausführungszeit ausgeführt. Dies kann auf ein Problem bei mindestens einem Auftrag hinweisen.
RunAsDefault

Source Code:

<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>