Bagikan melalui


dbo.sysjobactivity (Transact-SQL)

Berlaku untuk: SQL Server

Mencatat aktivitas dan status pekerjaan SQL Server Agent saat ini. Tabel ini disimpan dalam database msdb .

Nama kolom Jenis data Deskripsi
session_id int ID sesi yang disimpan dalam tabel syssessions dalam database msdb .
job_id pengidentifikasi unik ID pekerjaan.
run_requested_date datetime Tanggal dan waktu pekerjaan diminta untuk dijalankan.
run_requested_source sysname(nvarchar(128)) Siapa yang meminta pekerjaan untuk dijalankan.

1 = SOURCE_SCHEDULER

2 = SOURCE_ALERTER

3 = SOURCE_BOOT

4 = SOURCE_USER

6 = SOURCE_ON_IDLE_SCHEDULE
queued_date datetime Tanggal dan waktu pekerjaan ini diantrekan. Jika pekerjaan dijalankan secara langsung, kolom ini adalah NULL.
start_execution_date datetime Tugas tanggal dan waktu telah dijadwalkan untuk dijalankan.
last_executed_step_id int ID dari langkah pekerjaan terakhir yang berjalan.
last_executed_step_

date
datetime Tanggal dan waktu langkah pekerjaan terakhir mulai berjalan.
stop_execution_date datetime Tanggal dan waktu pekerjaan selesai berjalan.
job_history_id int Digunakan untuk mengidentifikasi baris dalam tabel sysjobhistory .
next_scheduled_run_date datetime Tanggal dan waktu berikutnya pekerjaan dijadwalkan untuk dijalankan.

Contoh

Contoh ini akan mengembalikan status run-time untuk semua pekerjaan SQL Server Agent. Jalankan Transact-SQL berikut di 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); 

Lihat Juga

dbo.sysjobhistory (Transact-SQL)