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 でホストされています。