Поделиться через


dbo.sysjobactivity (Transact-SQL)

Область применения: SQL Server

Записывает текущие агент SQL Server действия задания и состояние. Эта таблица хранится в базе данных msdb.

Имя столбца Тип данных Description
session_id int Идентификатор сеанса, хранящегося в таблице syssessions в базе данных msdb .
job_id uniqueidentifier Идентификатор задания.
run_requested_date datetime Дата и время последнего запроса на выполнение задания.
run_requested_source sysname(nvarchar(128)) Источник запроса на выполнение задания.

1 = SOURCE_SCHEDULER

2 = SOURCE_ALERTER

3 = SOURCE_BOOT

4 = SOURCE_USER

6 = SOURCE_ON_IDLE_SCHEDULE
queued_date datetime Дата и время последней постановки задания в очередь. Если задание запускается немедленно, значение этого столбца равно NULL.
start_execution_date datetime Дата и время последнего выполнения задания по расписанию.
last_executed_step_id int Идентификатор последнего выполненного шага задания.
last_executed_step_

date
datetime Дата и время начала выполнения последнего шага задания.
stop_execution_date datetime Дата и время завершения выполнения задания.
job_history_id int Используется для идентификации строки в таблице sysjobhistory .
next_scheduled_run_date datetime Дата и время следующего выполнения задания по расписанию.

Пример

В этом примере будет возвращено состояние времени выполнения для всех заданий агент SQL Server. Выполните следующую команду Transact-SQL в 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); 

См. также

dbo.sysjobhistory (Transact-SQL)