非常抱歉,今天 8:48 開始,我們使用的阿里雲 RDS SQL Server 資料庫例項突然出現 CPU 100% 問題,引發全站故障,由此給您帶來麻煩,請您諒解。
發現故障後立即進行主備切換,和往常一樣,第1次主備切換失敗,第2次主備切換完成後恢復正常。
上次同樣故障發生在2020年11月3日,詳見 【故障公告】訪問高峰資料庫伺服器 CPU 100% 引發全站故障
阿里雲 RDS CPU 100% 問題,不知為何,不知何時,但每年總要發生幾次,至今仍是未解之謎。
【更新】
經過阿里雲資料庫專家的排查與分析,定位出問題是一段 SQL 語句的“引數嗅探”引起的,並提出了建議與改進:
1. 針對該語句建立索引,避免走全表掃描
2. 修改語句,增加Recompile提示,但該方式不推薦,因為有較高的編譯成本,並需要修改語句
3. 可以升級到SQL Server 2017或者更高的版本,啟動Automatic Tuning規避該問題
注:目前我們用的是 SQL Server 2016。