2016-09-21 6 views
3

私は過去7日間のSQLサーバーのCPU使用率レポートを生成する必要があります。私はそれを表現するためにグラフを使用します。過去7日間のSQL Server CPU使用率を

また、毎日最大CPUを消費した上位10個のクエリを追跡する必要があります。

私は以下の1つの投稿を取得しましたが、疑問はほとんどありません。

CPU utilization by database?

・ダウト: 私はどのように全体的なCPU使用率が昨日だった、ということを知っているだろうどのように?昨日実行された個別のクエリに対してすべてAvgCPU timeを追加する必要がありますか?

答えて

1

最後の5 days..Iは、SQLServerのは、列の下に持って見る日/あたりのCPU使用率を取得するには信頼性の高い方法..

select 
creation_time, 
last_worker_time, 
total_worker_time, 
execution_count, 
last_execution_time 
from sys.dm_exec_query_stats 

そして、私のテスト・インスタンス上で、以下の報告されたものが

は...ありませんenter image description here

あなたは...上のスクリーンショットから見ることができるように

我々は確実に、count of instances a particular query got executed on a particular dayを取得することはできません..Andしかもあなたはこのentirが表示されます電子データはあなたを助けるかもしれないいくつかのチュートリアルあなたが本当に日常的にデータを表示したい場合は、SQLServerの

を再起動した場合、あなたはperfmon..Hereを使用することができ、リセットされます。..

1. Collecting Performance Data into a SQL Server Table
2。 Using PerfMon for SQL Server Reporting Services Performance Management

+1

Perfmonは実際に行く方法です。時間間隔を30秒または1分ごとに設定するように注意してください。または、オフにしないと情報が多すぎる可能性があります。 Perfmonをオンにすると、SQL Serverには多くのカウンタがあります。過剰に収集しないでください。 –

0

MS SQL Data collection setsもご覧ください。簡単なデプロイメント、必要なデータの保持が容易(専用データベースに格納されている限り)、少なくともCPUを多用するトップ10のクエリには、少なくともその要件を満たすことができます。 また、必要に応じて余分なCPU情報を取得するために、コレクタエージェントとコレクタサーバのターゲットテーブルのt-sqlを少し修正することもできます。

関連する問題