dbo.sysjobactivity (Transact-SQL)

Van toepassing op:SQL Server

Registreert de huidige activiteit en status van de SQL Server Agent-taak. Deze tabel wordt opgeslagen in de msdb-database .

Kolomnaam Gegevenstype Description
session_id int ID van de sessie opgeslagen in de syssessions-tabel in de msdb-database .
job_id uniqueidentifier ID van de baan.
run_requested_date datetime Datum en tijd waarop de klus werd aangevraagd om te lopen.
run_requested_source sysname(nvarchar(128)) Die de klus heeft gevraagd om zich kandidaat te stellen.

1 = SOURCE_SCHEDULER

2 = SOURCE_ALERTER

3 = SOURCE_BOOT

4 = SOURCE_USER

6 = SOURCE_ON_IDLE_SCHEDULE
queued_date datetime Datum en tijd voor deze baan stond in de wachtrij. Als de taak direct wordt uitgevoerd, is deze kolom NULL.
start_execution_date datetime Datum en tijd voor de klus zijn ingepland om uit te voeren.
last_executed_step_id int ID van de laatste klusstap die liep.
last_executed_step_

date
datetime Datum en tijd waarop de laatste taakstap begon te lopen.
stop_execution_date datetime Datum en tijd waarop het werk klaar was.
job_history_id int Gebruikt om een rij te identificeren in de sysjobhistory-tabel .
next_scheduled_run_date datetime Volgende datum en tijd waarop de klus gepland staat om te lopen.

Example

Dit voorbeeld geeft de run-time status terug voor alle SQL Server Agent-jobs. Voer de volgende Transact-SQL uit in SQL Server Management Studio.

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