0
我在嘗試診斷客戶端網站上的應用程序性能降低。如何檢索先前查詢的查詢執行時間
客戶端計算機上的日誌文件告訴我從應用程序端測量的每個查詢的執行時間。看起來,對遠程數據庫的許多簡單查詢花費了大量的時間來完成。例如,
SELECT CONVERT(varchar, GETDATE(), 121)
此查詢重複執行5秒鐘以執行應用程序的定時。其他查詢幾乎一樣簡單(將一個記錄集插入一張表)需要花費一分鐘才能完成。在我的測試系統上(有客戶數據庫的副本),我沒有遇到任何這些問題。
我會懷疑是一個緩慢的網絡,除了從Crystal Reports運行報告後問題可靠地消失。然後1-2小時後應用程序再次減速。
爲了進一步隔離問題,我想檢索/記錄服務器端的執行時間。我想弄清楚做這件事的最好方法是什麼。我可以使用一個變量來獲取單個查詢的執行時間,但我沒有修改我的應用程序中每個查詢的選項。
sys.dm_exec_query_stats
對於檢索先前查詢的執行時間看起來非常有希望,但是它爲last_elapsed_time報告的毫秒值似乎太高。
任何人都可以幫我弄清楚如何獲得我的查詢時間?
不幸的是,我需要獲得應用程序運行查詢這些統計數據,不我從ssms手動執行。 – qianlong
那麼,你可以從你的客戶端應用程序得到相同的消息。例如:http://stackoverflow.com/questions/765142/access-to-sql-server-messages-via-ado-net和http://stackoverflow.com/questions/5008826/retrieve-set-statistics-io -and-設置統計的時間值,通過-ADO網 – leoh