dbo.sysjobactivity (Transact-SQL)
Si applica a: SQL Server
Registra l'attività e lo stato correnti del processo di SQL Server Agent. Questa tabella viene archiviata nel database msdb .
Nome colonna | Tipo di dati | Descrizione |
---|---|---|
session_id | int | ID della sessione archiviata nella tabella syssessions nel database msdb . |
job_id | uniqueidentifier | ID del processo. |
run_requested_date | datetime | Data e ora della richiesta di esecuzione del processo. |
run_requested_source | sysname(nvarchar(128)) | Autore della richiesta di esecuzione del processo. 1 = SOURCE_SCHEDULER 2 = SOURCE_ALERTER 3 = SOURCE_BOOT 4 = SOURCE_USER 6 = SOURCE_ON_IDLE_SCHEDULE |
queued_date | datetime | Data e ora di accodamento del processo. Se il processo viene eseguito direttamente, questa colonna è NULL. |
start_execution_date | datetime | Data e ora in cui è pianificata l'esecuzione del processo. |
last_executed_step_id | int | ID dell'ultimo passaggio del processo eseguito. |
last_executed_step_ date |
datetime | Data e ora di inizio dell'esecuzione dell'ultimo passaggio del processo. |
stop_execution_date | datetime | Data e ora in cui l'esecuzione del processo è stata completata. |
job_history_id | int | Consente di identificare una riga nella tabella sysjobhistory . |
next_scheduled_run_date | datetime | Data e ora in cui è stata pianificata l'esecuzione successiva del processo. |
Esempio
Questo esempio restituirà lo stato di runtime per tutti i processi di SQL Server Agent. Eseguire l'istruzione Transact-SQL seguente in 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);