안녕하세요.

SHRINK작업중 이해가 안되는 현상이 발생하여 질문드립니다.

우선 상황설명부터 드리겠습니다.


[A] 데이터 베이스의 mdf 파일은 80GB 이고 사용공간은 30GB입니다. ( MSSQL SERVER 2012(11.0.3156), 복구모델 : 단순 )

DBCC SHRINKFILE (N'A' , 50000, TRUNCATEONLY)

위의 SHRINK(TRUNCATEONLY 옵션) 명령으로 내부데이터 정렬으느 하지않고,

사용하지않는 뒷부분의 공간을 해제하여 30GB의 여유공간을 확보하였습니다.


그런데, [A] 데이터 베이스를 매주 백업하여 복원하는 테스트서버에도 동일한 작업을 진행하였는데요,

DBCC SHRINKFILE (N'A' , 50000, TRUNCATEONLY) 명령으로는 전혀 mdf 파일 크기가 줄어들지 않습니다.

할수없이 DBCC SHRINKFILE (N'A' , 50000) 명령으로 NOTRUNCATE -> TUNCATEONLY 작업을 진행중인데요,


백업한 데이터 베이스 복원시 mdf파일 내부의 파일정렬 순서가 변경될수 있는지 궁금합니다.

이게 문제가 아니라면 TRUNCATEONLY옵션으로 SHRINKE 진행시 공간해제가 되지 않는걸까요?

고수님들의 조언부탁드립니다. 감사합니다.