jobs.job_executions (Azure 弹性作业) (Transact-SQL)

适用于:Azure SQL 数据库

包含用于Azure SQL 数据库Azure 弹性作业服务中作业的作业执行状态和历史记录。

列名称 数据类型 说明
job_execution_id uniqueidentifier 一个作业执行操作实例的唯一 ID。
job_name nvarchar(128) 作业的名称。
job_id uniqueidentifier 作业的唯一 ID。
job_version int 作业的版本(每次修改作业时都自动对其进行更新)。
step_id int 步骤的唯一(是针对该作业的)标识符。 NULL 指示此执行是父作业执行。
is_active bit 指示信息是处于活动状态还是非活动状态。 1 指示活动作业,并 0 指示非活动状态。
lifecycle nvarchar(50) 指示作业状态的值。 有关可能的值,请参阅 生命周期 表。
create_time datetime2(7) 作业的创建日期和时间。
start_time datetime2(7) 作业开始执行的日期和时间。 NULL 如果尚未执行作业,则为
end_time datetime2(7) 作业执行完毕的日期和时间。 NULL 如果作业尚未执行或尚未完成执行,
current_attempts int 步骤重试的次数。 父作业是 0,子作业执行将 1 基于执行策略或更大。
current_attempt_start_time datetime2(7) 作业开始执行的日期和时间。 NULL 指示此执行是父作业执行。
next_attempt_start_time datetime2(7) 作业开始下一次执行的日期和时间。 NULL 指示此执行是父作业执行。
last_message nvarchar(max) 作业或步骤历史记录消息。
target_type nvarchar(128) 目标数据库或数据库集合的类型,包括服务器中的所有数据库、弹性池或数据库中的所有数据库。 的有效值为target_typeSqlServerSqlElasticPoolSqlDatabaseNULL 指示此执行是父作业执行。
target_id uniqueidentifier 目标组成员的唯一 ID。 NULL 指示此执行是父作业执行。
target_group_name nvarchar(128) 目标组的名称。 NULL 指示此执行是父作业执行。
target_server_name nvarchar(256) 包含在目标组中的服务器的名称。 仅当 target_typeSqlServer.时指定。 NULL 指示此执行是父作业执行。
target_database_name nvarchar(128) 包含在目标组中的数据库的名称。 仅当 target_typeSqlDatabase. NULL 指示此执行是父作业执行。

下表列出了可能的作业执行状态 lifecycle

状态 说明
创建时间 作业执行刚刚创建,还没有进行。
InProgress 作业执行目前正在进行中。
WaitingForRetry 作业执行无法完成其操作,正在等待重试。
成功 作业执行成功完成。
SucceededWithSkipped 作业执行已成功完成,但跳过了其中一些子项。
已失败 作业执行失败并耗尽了重试。
TimedOut 作业执行超时。
已取消 作业执行已取消。
已跳过 已跳过作业执行,因为同一作业步骤的另一个执行已在同一目标上运行。
WaitingForChildJobExecutions 作业执行正在等待其子执行完成。

权限

jobs_reader角色的成员可以从此视图中选择。 有关详细信息,请参阅 Azure SQL 数据库中的弹性作业

注意

不得更新“作业数据库”中的内部目录视图。 手动更改上述目录视图可能会损坏“作业数据库”并导致失败。 上述视图仅用于只读查询。 可以在作业数据库上使用存储过程。

注解

弹性作业中的所有时间均处于 UTC 时区。

监视作业执行状态

以下示例演示如何查看所有作业的执行状态详细信息。

连接到 job_database,然后运行以下命令:

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

运行作业并监视状态

以下示例演示如何立即以手动计划外操作的形式启动弹性作业。

连接到 job_database,然后运行以下命令:

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