MSSQL 사용되지 않는공간 과도한 증가 현상

MSSQL 2016 버젼 이상부터 발생하는 현상이여서 원인을 알기 전까지는 index rebuild 나 index reorganize 를 주기적으로 실행하면서 사용할수 있는 공간으로 유지 했었습니다. 2014 버젼까지는 없던 증상이 왜 2016 이상 버젼부터 발생했는지 이해를 할수 없는 상황에 궁금증이 폭발하여 여기저기 물어보고 구글 검색하다가 찾았습니다.

대량 로드작업 즉 BULK INSERT 를 사용하는 경우 발생하는 현상이였습니다. 2016 버젼부터는 성능을 극대화 하기 위해 기존에 사용되었던 공간에 재활용 하지 않는다는 설명을 해주고 있습니다.

(대량 로드 작업을 실행한 후 사용하지 않는 과도한 공간)

해결방안

다음 쿼리를 사용하여 SQL Server 온라인 상태에서 추적 플래그를 사용하도록 설정할 수 있습니다.

DBCC TRACEON(692,-1)

또는 서비스를 다시 시작할 때 TF 692를 자동으로 사용하도록 설정하는 SQL Server 서비스 시작 매개 변수로 추가할 -T692 수 SQL Server.

Trace Flag 692 to reduce unused space in SQL Server

 

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다