dbo.sysjobactivity (Transact-SQL)

platí pro:SQL Server

Zaznamenává aktuální aktivitu a stav práce SQL Server Agent. Tato tabulka je uložená v databázi msdb .

Název sloupce Datový typ Description
session_id int ID relace uložené v tabulce syssessions v databázi msdb .
job_id uniqueidentifier Identifikace práce.
run_requested_date datetime Datum a čas, kdy byla zakázka požádána.
run_requested_source sysname(nvarchar(128)) Kdo požádal o to, aby práce splývala.

1 = SOURCE_SCHEDULER

2 = SOURCE_ALERTER

3 = SOURCE_BOOT

4 = SOURCE_USER

6 = SOURCE_ON_IDLE_SCHEDULE
queued_date datetime Datum a čas byla tato práce v řadě. Pokud je úkol vykonán přímo, tento sloupec je NULL.
start_execution_date datetime Termín a čas práce je naplánována.
last_executed_step_id int ID posledního kroku práce, který běžel.
last_executed_step_

date
datetime Datum a čas, kdy začal poslední krok práce.
stop_execution_date datetime Datum a čas, kdy práce skončila.
job_history_id int Používá se k identifikaci řádku v tabulce sysjobhistory .
next_scheduled_run_date datetime Další datum a čas, kdy je úkol naplánovaný.

Example

Tento příklad vrátí stav běhu všech úloh SQL Server Agent. V aplikaci SQL Server Management Studio spusťte následující Transact-SQL.

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