문제

모니터링 알람을 통해 DB 스토리지 사용률 90% 초과 감지, 이어서 웹 서비스 장애 발생.

스토리지 사용률이 급상승되어 100%가 되었고 이에 Read-only 상태로 변경되어 장애가 발생한 것으로 확인.

해결 과정

스토리지 용량을 확장한 후, MSSQL을 재시작하여 임시 조치.

임시 조치 후 스토리지 사용량은 복구 되었고,

로그를 분석해보니 Auto Shrink 기능에 오류가 발생해 tempdb 용량이 급격하게 상승한 것으로 파악.

Auto Shrink는 IO와 CPU 리소스를 많이 사용하는데,

MSSQL 점유 리소스와 스케쥴러 작동으로 인해 사용 가능한 리소스가 부족해 오류 발생한 것으로 파악.

정상적인 스케쥴러 작동 및 인스턴스 비용을 고려하여 CPU 점유 설정은 유지.

동일한 이슈로 장애가 발생하지 않도록 tempdb에 대한 maxsize를 설정.

후속 조치

tempdb에 대한 maxsize를 설정.

 

참고링크

https://www.sqlshack.com/sql-server-auto-shrink-database-property/