tempdb資料檔案暴增分析

z_cloud_for_SQL發表於2023-02-27
背景

某客戶tempdb資料檔案突然暴增,導致磁碟可用空間緊張,讓我們找到暴增的原因。

現象 1

登入到SQL專家雲,透過趨勢分析進行回溯,在4月12日,tempdb資料檔案在3個小時內從10GB漲到了80GB。隨後使用空間(黃線)下降,但是總空間(藍線)保持不變。

進一步檢視發現暴增的為tempdb內部物件。

分析 2

 

  微軟官方文件對 tempdb 的詳細描述如下圖,原文連結:


在活動會話頁面看到對應時間段內在執行很多個消耗大、執行時間長的語句。

進入ID為61的會話完整資訊,可以看到該會話內部物件釋放空間達到了27G左右。是集團報表產生的查詢語句,十分複雜,裡面用到了 大量的jion、union、order by、子查詢等,都會消耗tempdb的內部物件空間。其他的會話也是相同的語句。



定位到語句後就很容易找到原因,以前都是選擇一個月的時間進行統計,這次因為誤操作,選擇了一年的時間,執行時間長導致頁面一直沒有返回,所以操作人員重複進行查詢,造成了同時執行多個相同的語句。

解決 3

  1. 重啟SQL Server服務把tempdb恢復到初始大小;

  2. 發現SQL語句寫法存在嚴重的效能問題,進行最佳化後,效能得到十幾倍的提升;

  3. 完善程式,例如限制時間的選擇,不允許重複點選按鈕等。



北京格瑞趨勢科技有限公司是聚焦於資料服務的高新技術企業,成立於2008年,創始團隊及核心技術人員來自微軟和雅虎。微軟資料平臺金牌合作伙伴,衛寧健康資料平臺戰略合作伙伴。透過產品+服務雙輪驅動的業務模式,14年間累計服務4000+客戶,覆蓋網際網路、市政、交通、電信、醫療、教育、電力、製造業等各個領域。



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70023658/viewspace-2937129/,如需轉載,請註明出處,否則將追究法律責任。

相關文章