Teilen über


dbo.sysjobactivity (Transact-SQL)

Gilt für: SQL Server

Zeichnet aktuelle SQL Server-Agent Auftragsaktivität und -status auf. Diese Tabelle wird in der msdb -Datenbank gespeichert.

Spaltenname Datentyp BESCHREIBUNG
session_id int ID der Sitzung, die in der syssessions -Tabelle in der msdb -Datenbank gespeichert ist.
job_id uniqueidentifier ID des Auftrags.
run_requested_date datetime Datum und Uhrzeit, zu der der Auftrag laut Anforderung ausgeführt werden sollte.
run_requested_source sysname(nvarchar(128)) Quelle der Anforderung der Auftragsausführung.

1 = SOURCE_SCHEDULER

2 = SOURCE_ALERTER

3 = SOURCE_BOOT

4 = SOURCE_USER

6 = SOURCE_ON_IDLE_SCHEDULE
queued_date datetime Datum und Uhrzeit, zu der dieser Auftrag in der Warteschlange angeordnet wurde. Wird der Auftrag direkt ausgeführt, enthält diese Spalte den Wert NULL.
start_execution_date datetime Datum und Uhrzeit, für die die Ausführung des Auftrags geplant wurde.
last_executed_step_id int ID des letzten ausgeführten Auftragsschrittes.
last_executed_step_

date
datetime Datum und Uhrzeit, zu der die Ausführung des letzten Auftragsschrittes begann.
stop_execution_date datetime Datum und Uhrzeit, zu der die Ausführung des Auftrags fertig gestellt wurde.
job_history_id int Wird verwendet, um eine Zeile in der sysjobhistory -Tabelle zu identifizieren.
next_scheduled_run_date datetime Nächstes Datum und nächste Uhrzeit, für die die Ausführung des Auftrags geplant ist.

Beispiel

In diesem Beispiel wird der Laufzeitstatus für alle SQL Server-Agent Aufträge zurückgegeben. Führen Sie die folgenden Transact-SQL in SQL Server Management Studio aus.

SELECT sj.Name, 
	CASE
		WHEN sja.start_execution_date IS NULL THEN 'Not running'
		WHEN sja.start_execution_date IS NOT NULL AND sja.stop_execution_date IS NULL THEN 'Running'
		WHEN sja.start_execution_date IS NOT NULL AND sja.stop_execution_date IS NOT NULL THEN 'Not running'
	END AS 'RunStatus'
FROM msdb.dbo.sysjobs sj
JOIN msdb.dbo.sysjobactivity sja
ON sj.job_id = sja.job_id
WHERE session_id = (
	SELECT MAX(session_id) FROM msdb.dbo.sysjobactivity); 

Weitere Informationen

dbo.sysjobhistory (Transact-SQL)