sys.dm_exec_background_job_queue_stats

更新日期: 2006 年 12 月 12 日

对于每个为异步(后台)执行而提交的查询处理器作业,相应地返回一行,以提供聚合统计信息。

列名 数据类型 说明

queue_max_len

int

最大队列长度。

enqueued_count

int

成功投递到队列的请求数。

started_count

int

已经开始执行的请求数。

ended_count

int

最终成功或失败的请求数。

failed_lock_count

int

由于锁争用或死锁而失败的请求数。

failed_other_count

int

由于其他原因而失败的请求数。

failed_giveup_count

int

由于已达到重试限制而失败的请求数。

enqueue_failed_full_count

int

由于队列已满而失败的排队尝试的数字。

enqueue_failed_duplicate_count

int

复制排队尝试的数字。

elapsed_avg_ms

int

请求的平均占用时间(毫秒)。

elapsed_max_ms

int

最长请求的占用时间(毫秒)。

备注

在 SQL Server 2005 中,该视图只返回有关异步更新统计作业的信息。有关异步更新统计的详细信息,请参阅索引统计信息

权限

需要对服务器具有 VIEW SERVER STATE 权限。

示例

A. 确定失败的后台作业的百分比。

以下示例针对所有已执行查询返回失败的后台作业的百分比。

SELECT 
        CASE ended_count WHEN 0 
                THEN 'No jobs ended' 
                ELSE CAST((failed_lock_count + failed_giveup_count + failed_other_count) / CAST(ended_count AS float) * 100 AS varchar(20)) 
        END AS [Percent Failed]
FROM sys.dm_exec_background_job_queue_stats;
GO

B. 确定失败的排队尝试的百分比。

以下示例针对所有已执行查询返回失败的排队尝试的百分比。

SELECT 
        CASE enqueued_count WHEN 0 
                THEN 'No jobs posted' 
                ELSE CAST((enqueue_failed_full_count + enqueue_failed_duplicate_count) / CAST(enqueued_count AS float) * 100 AS varchar(20)) 
        END AS [Percent Enqueue Failed]
FROM sys.dm_exec_background_job_queue_stats;
GO

请参阅

参考

动态管理视图和函数
与执行有关的动态管理视图和函数
ALTER DATABASE (Transact-SQL)
sys.dm_exec_background_job_queue

其他资源

索引统计信息

帮助和信息

获取 SQL Server 2005 帮助

更改历史记录

发布日期 历史记录

2006 年 12 月 12 日

新增内容:
  • 添加了“备注”和“示例”部分。