Sql-Server

辨識導致平均等待時間較長的查詢 (SQL Server 2008)

  • July 5, 2017

最近我們開始收到許多來自 SCOM 的警報:警報:SQL 2008 DB 平均等待時間太高。

查看此計數器的圖表時,我們發現警報始終介於 1,000 (ms) 和 2,500 (ms) 之間。

有沒有一種特定的方式\查詢可以辨識哪些查詢導致了這種鎖定,從而導致了高等待時間?

謝謝奧薩馬·韋利

您可能可以找到更簡單的查詢來為您提供該資訊,但如果您想要更強大的東西,我建議您使用sp_BlitzCache. 完全披露,我是作者之一。它是完全免費的、開源的,您可以在此處獲取

它對你有什麼幫助?

您可以使用該@SortOrder參數來查找計劃記憶體中累積的總持續時間最長的查詢:

EXEC sp_BlitzCache @SortOrder = 'duration'

或者您可以查看較長的平均持續時間:

EXEC sp_BlitzCache @SortOrder = 'avg duration'

這將平均我們執行的持續時間,以找到平均執行時間最長的。

您將獲得有關每個查詢的大量資訊,包括查詢計劃。如果您對結果有任何疑問,可以在此處或在 GitHub 儲存庫中提問。

希望這可以幫助!

引用自:https://dba.stackexchange.com/questions/178040