안녕하세요.
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 진행시 공간해제가 되지 않는걸까요?
고수님들의 조언부탁드립니다. 감사합니다.
Comment 1
-
디비하는조씨
2017.06.27 11:40
파일 뒤 쪽 공간에 데이터 하나만 있어도 TUNCATEONLY 로는 줄지 않는데
테스트 디비라 read only상태가 아닌만큼
어떤 작업 이 있었기 때문에(데이터 하나 넣고 기존거 삭제 같은...) 안줄어든 것 같아보입니다.