2016-09-21 75 views
3

我有一個要求,即在過去7天內爲我的SQL Server生成CPU使用情況報告。我將用圖表來表示它。生成最近7天的SQL Server CPU使用情況

此外,我必須跟蹤每天消耗最多CPU的前10個查詢。

我在下面有一篇文章,但我沒有懷疑。

CPU utilization by database?

的疑問: 如何,我便知道,怎麼昨天是整體的CPU使用率?我是否需要爲昨天運行的不同查詢添加所有AvgCPU time

回答

1

中有四處每天/最後5個days..I CPU使用率沒有可靠的方法看到的SQLServer有以下欄目..

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 ..和而且你會看到這個entir如果重新啓動的SQLServer

如果你真的想顯示每天的數據E的數據被重置,你可以使用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。易於部署,易於保存必要的數據(只要存儲在專用數據庫中),並且至少可以滿足您對前10個CPU昂貴查詢的要求。 您還可以稍微修改收集器代理的t-sql和收集器服務器上的目標表,以便在需要時獲取一些額外的CPU信息。