7

是否有任何方法可以查看每小時或每個數據庫/小時執行多少個查詢,或每天查詢的平均數量,或者......有趣的事情是什麼?SQL:如何獲得每個數據庫或小時執行的查詢數或...?

只是爲了統計..我喜歡數字。 我不能用Sql Server Profiler開始跟蹤,因爲當查詢過多時UI會崩潰。

SQL是否跟蹤某些基本的「執行查詢統計」,或者是否有任何工具可用於獲取此信息?

(我使用SQL Server 2008 R2)

+0

http://sqlserverperformance.idera.com/tsql-optimization/understanding-sql-server-statistics/ – Oded 2012-03-23 15:44:48

+0

尼斯後約索引和列/表統計,但沒有說任何關於執行查詢的數量 – 2012-03-23 15:51:52

回答

5

這應該工作:

select * 
from sys.dm_os_performance_counters 
where counter_name = 'Batch Requests/sec' 

它實際上返回批量請求。您定期查詢該號碼,然後使用此計算:

ReqsPerSec = (curr.Value - prev.Value)/(curr.time - prev.time) 
+0

不錯,我還不知道這個計數器。你知道這個計數器何時重置嗎?該櫃檯的價值(約2.24億美元),但這就像10天前。這是所有數據庫的總和。我還可以得到這個信息「每個數據庫」? – 2012-03-26 08:06:13

+1

@RBarryYoung您的網站說'登錄失敗的用戶'rba0813312265276'。原因:帳戶已停用。'也許很好,禁用公共異常? – 2012-03-26 08:17:32

+0

@Erik Dekker:當SQL Server啓動時,計數器被重置。沒有等效的每個數據庫計數器(AFAIK),但可能有一些產品/工具可以獲取(通過跟蹤和擴展)。 – RBarryYoung 2012-03-27 14:39:15

0

我其實只是瞭解這在我的微軟認證。

雖然我不能回答你的問題直接的是,我可以用幾件事情給你在正確的方向:

  1. 看一看服務器>數據庫>系統數據庫> MSDB內部的意見>視圖>系統視圖。 MSDN Systsem Views
  2. 查看服務器>數據庫>系統數據庫>主站>視圖>系統視圖內的視圖。
  3. 在SQL Server可用的跟蹤工具上取得一個高峯。

在視圖中,您可能實際上必須將幾個視圖連接在一起,或者在底層表中獲取特定的內容。

相關問題