0

sys.dm_exec_query_stats DMV をクエリすると、 last_worker_time列で興味深い動作が見られます。

通常、監視している特定のストアド プロシージャに対して 0 を報告します。ただし、ゼロ以外の値を返す場合があり、その場合は常に 976 のようです。

MSDNのドキュメントには、last_worker_time 列について次のように記載されています。

プランが最後に実行されたときに消費された CPU 時間 (マイクロ秒単位で報告されますが、正確なのはミリ秒までです)。

ただし、これは奇妙な動作を説明していません。値 976 が非常に多作である理由を誰か説明できますか?

私の DMV クエリの次の単純化されたバージョンは、この現象を引き起こします。

select
    qs.last_worker_time
from
    sys.dm_exec_query_stats qs
    cross apply sys.dm_exec_sql_text(qs.plan_handle) st
where   
    db_name(st.dbid) = 'IntegrationManagement'
    and object_name(st.objectid, st.dbid) in ('GetFromOutQueue')

SQL Server 2008 R2 インスタンスは、VMware で実行されている Windows Server 2008 R2 でホストされています。

4

1 に答える 1