Sql-Server
辨識導致平均等待時間較長的查詢 (SQL Server 2008)
最近我們開始收到許多來自 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 儲存庫中提問。
希望這可以幫助!