iT邦幫忙

0

SQL Server 2008 R2的sqlservr.exe對磁碟讀取問題

  • 分享至 

  • twitterImage

我先說明系統環境
伺服器:Windows Server 2012 Std
資料庫:SQL Server 2008 R2

問題情境如下
查看資源監視器,發現sqlservr.exe的磁碟讀取值相當的高,甚至對磁碟的啟用時間達到100%。
https://ithelp.ithome.com.tw/upload/images/20180601/20102841l5M9O5MXwu.png
下指令查詢PAGEIOLATCH_EX與PAGEIOLATCH_SH發現數值如下圖。
https://ithelp.ithome.com.tw/upload/images/20180601/201028418oUKKpZdDM.png
接著下指令查詢avg_fragmentation_in_percent與avg_page_space_used_in_percent的數值是否超過範圍,需要進行索引重組或重建。
https://ithelp.ithome.com.tw/upload/images/20180601/201028417Nk916pmml.png
後續再下指令查詢avg_fragmentation_in_percent大於10的索引,並產生索引重建指令。
https://ithelp.ithome.com.tw/upload/images/20180601/201028418MXC8Wp4e2.png
最後執行產生的索引重建指令。

在先前依據上述的指令操作,並重新啟動SQL Server,都能夠降低sqlservr.exe對磁碟的讀取值與磁碟的啟用時間可以降至將近0%。
可是現在操作上述的指令幾乎無法有效將sqlservr.exe對磁碟的行為改善。

請問還有哪些方法可以查明此問題,並解決sqlservr.exe對磁碟的行為。
謝謝各位。

通常是SQL語法設計不良或是程式碼使用SQL方式有問題..
硬碟快掛了,讀取才 7MB 就出現 高負載警告
這就是典型的硬碟速度已經快不行了,建議換硬碟
或是對硬碟做一次檢查,合理的速度 RAID 1 的HDD 至少要超過 80MB/S 才行,如果低於40MB,那該換還是要換掉
給個數據參考,我家的瞬間讀取速度可以到 800MB/S,出報表從原本的 40MB/S,快了20倍以上,我這個速度只是小公司用的
大公司,很多都要 好幾GB/S 以上的速度
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友回答

立即登入回答