dbo.sysjobactivity (Transact-SQL)

Gäller för:SQL Server

Registrerar aktuell SQL Server Agent-jobbaktivitet och status. Den här tabellen lagras i msdb-databasen .

Kolumnnamn Datatyp Description
session_id int ID för sessionen som lagras i syssessions-tabellen i msdb-databasen .
job_id uniqueidentifier ID för jobbet.
run_requested_date datetime Datum och tid då jobbet begärdes att genomföras.
run_requested_source sysname(nvarchar(128)) Vem bad om att jobbet skulle bli aktuellt.

1 = SOURCE_SCHEDULER

2 = SOURCE_ALERTER

3 = SOURCE_BOOT

4 = SOURCE_USER

6 = SOURCE_ON_IDLE_SCHEDULE
queued_date datetime Datum och tid för detta jobb var i kö. Om jobbet körs direkt är denna kolumn NULL.
start_execution_date datetime Datum och tid för jobbet är schemalagt att köras.
last_executed_step_id int ID på det senaste jobbsteget som kördes.
last_executed_step_

date
datetime Datum och tid då det sista jobbsteget började köras.
stop_execution_date datetime Datum och tid då jobbet var klart.
job_history_id int Används för att identifiera en rad i tabellen sysjobhistory .
next_scheduled_run_date datetime Nästa datum och tid då jobbet är schemalagt att köras.

Example

Detta exempel returnerar körtidsstatus för alla SQL Server Agent-jobb. Kör följande Transact-SQL i 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);