次の方法で共有


sys.dm_exec_background_job_queue_stats

更新 : 2006 年 12 月 12 日

非同期の (バックグラウンド) 実行に送信されたクエリ プロセッサのジョブごとに、集計統計を提供する 1 行のデータを返します。

列名 データ型 説明

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 日

新しい内容 :
  • 「解説」および「例」を追加しました。