jobs.job_executions (Azure Elastic Jobs) (Transact-SQL)

Applies to: Azure SQL Database

Contains job execution status and history for jobs in the Azure Elastic Jobs service for Azure SQL Database.

Column name Data type Description
job_execution_id uniqueidentifier Unique ID of an instance of a job execution.
job_name nvarchar(128) Name of the job.
job_id uniqueidentifier Unique ID of the job.
job_version int Version of the job (automatically updated each time the job is modified).
step_id int Unique (for this job) identifier for the step. NULL indicates this execution is the parent job execution.
is_active bit Indicates whether information is active or inactive. 1 indicates active jobs, and 0 indicates inactive.
lifecycle nvarchar(50) Value indicating the status of the job. See Lifecycle table for possible values.
create_time datetime2(7) Date and time the job was created.
start_time datetime2(7) Date and time the job started execution. NULL if the job has not yet been executed.
end_time datetime2(7) Date and time the job finished execution. NULL if the job has not yet been executed or has not yet completed execution.
current_attempts int Number of times the step was retried. Parent job is 0, child job executions will be 1 or greater, based on the execution policy.
current_attempt_start_time datetime2(7) Date and time the job started execution. NULL indicates this execution is the parent job execution.
next_attempt_start_time datetime2(7) Date and time the job will start next execution. NULL indicates this execution is the parent job execution.
last_message nvarchar(max) Job or step history message.
target_type nvarchar(128) Type of target database or collection of databases including all databases in a server, all databases in an elastic pool or a database. Valid values for target_type are SqlServer, SqlElasticPool, or SqlDatabase. NULL indicates this execution is the parent job execution.
target_id uniqueidentifier Unique ID of the target group member. NULL indicates this execution is the parent job execution.
target_group_name nvarchar(128) Name of the target group. NULL indicates this execution is the parent job execution.
target_server_name nvarchar(256) Name of the server contained in the target group. Specified only if target_type is SqlServer. NULL indicates this execution is the parent job execution.
target_database_name nvarchar(128) Name of the database contained in the target group. Specified only when target_type is SqlDatabase. NULL indicates this execution is the parent job execution.

The following table lists the possible job execution states in lifecycle:

State Description
Created The job execution was just created and is not yet in progress.
InProgress The job execution is currently in progress.
WaitingForRetry The job execution wasn't able to complete its action and is waiting to retry.
Succeeded The job execution completed successfully.
SucceededWithSkipped The job execution completed successfully, but some of its children were skipped.
Failed The job execution failed and exhausted its retries.
TimedOut The job execution timed out.
Canceled The job execution was canceled.
Skipped The job execution was skipped because another execution of the same job step was already running on the same target.
WaitingForChildJobExecutions The job execution is waiting for its child executions to complete.

Permissions

Members of the jobs_reader role can SELECT from this view. For more information, see Elastic jobs in Azure SQL Database.

Caution

You should not update internal catalog views in the job database. Manually changing these catalog views can corrupt the job database and cause failure. These views are for read-only querying only. You can use the stored procedures on your job database.

Remarks

All times in elastic jobs are in the UTC time zone.

Monitor job execution status

The following example shows how to view execution status details for all jobs.

Connect to the job_database and run the following command:

--Connect to the job database specified when creating the job agent

--View top-level execution status for the job named 'ResultsPoolJob'
SELECT * FROM jobs.job_executions
WHERE job_name = 'ResultsPoolsJob' and step_id IS NULL
ORDER BY start_time DESC;

--View all top-level execution status for all jobs
SELECT * FROM jobs.job_executions WHERE step_id IS NULL
ORDER BY start_time DESC;

--View all execution statuses for job named 'ResultsPoolsJob'
SELECT * FROM jobs.job_executions
WHERE job_name = 'ResultsPoolsJob'
ORDER BY start_time DESC;

-- View all active executions
SELECT * FROM jobs.job_executions
WHERE is_active = 1
ORDER BY start_time DESC;

Run a job and monitor status

The following example shows how to start an elastic job immediately as a manual, unplanned action.

Connect to the job_database and run the following command:

--Connect to the job database specified when creating the job agent

-- Execute the latest version of a job and receive the execution id
DECLARE @je uniqueidentifier;
EXEC jobs.sp_start_job 'CreateTableTest', @job_execution_id = @je output;
SELECT @je;

-- Monitor progress

SELECT * FROM jobs.job_executions WHERE job_execution_id = @je;