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