SQL 데이터 파일의 경우 shrinkfile을 하면 안되는건가요?
Comment 8
-
초짜해커
2014.07.18 12:30
-
나는짱이야
2014.07.18 13:24
사실..확신히 없어서 질문을 드리게 되었는데 답변 감사드려요.^^
-
자리비움
2014.07.18 13:02
http://msdn.microsoft.com/ko-kr/library/ms189493.aspx
본문에 있는 내용 중 "주의" 항목을 참고해서 진행하시면 됩니다.
DB 서버 운영 관점 ( 디스크 공간 확보, 긴급 장애 대응 등 ) 에서 볼때 상황에 따라 필요한 작업이라 생각합니다.
-
나는짱이야
2014.07.18 13:19
사실..확신히 없어서 질문을 드리게 되었는데 답변 감사드려요.^^
-
minsouk
2014.07.18 13:14
전문가들이 shrinkfile 을 하지 말라고 하는것은 페이지의 물리 순서가 변경됨으로 인해 sequential i/o 가 random i/o 로 바뀔 수 있어 cold cache 상태의 scan 성능이 떨어지기 때문에 하지 말라고 하는것입니다. 대부분의 i/o 가 random 인 상황에서 shrinkfile 을 했을때 성능 저하는 0에 가까우나 scan 이 많이 일어날 경우 엄청난 성능저하를 경험하게 됩니다. 이는 sql server 운영과 튜닝 1편 index 편을 참고하면 잘 설명되어 있습니다.
참고로 shrinkfile 을 해도 cold cache 상태에서 scan 성능저하가 발생하지 않는 방법도 있습니다. 고민해 보시고 좋은 방법을 발견하면 의견 주세요~
-
나는짱이야
2014.07.18 13:18
깊이 있는 답변에 감사드립니다. 읽어봐야겠네요.
-
항해자™
2014.07.18 19:23
완판되어 시중에 없습니다ㅎㅎ 중고 쪽으로 알아 보심이,,,
-
자리비움
2014.07.18 22:45
운영DB 작업 시 참고하시라고 몇자 더 적습니다.
1. DB 점검시간에 진행하세요.
2. 가급적 1MB 단위로 축소하시면서 걸리는 시간을 측정하세요.
3. 작업 후 인덱스 조각화 검사 및 인덱스 리빌드 진행하세요.
MSDN 설명에 보면
"DBCC SHRINKFILE 작업은 진행 도중에 언제든지 중지될 수 있으며 완료된 작업은 모두 그대로 보존됩니다." 라고 나옵니다.
그리고 직접 해보니 언제든지 중지 할 수 있었습니다.
1테라 정도 되는 DB에 200기가 정도 되는 테이블이 하나 있었는데
이걸 복사를 해서 이것 저것 하는 과정에서 MDF파일의 크기가 엄청나게 커진적이 있습니다.
아는 DBA들 누구도... SHRINKFILE 하라고 권유를 안하더군요.
걍 퇴근할때 돌려버렸고... 아직 전 회사 잘 다니고 있습니다.
그렇다고 막 하라는건 아닙니다. -_-;;