본문 바로가기
잡식

MSSQL DB축소 관련 옵션

by 불멸도도 2024. 8. 1.

MSSQL 데이터베이스 축소의 중요성

MSSQL 데이터베이스를 운영하다 보면 시간이 지나면서 데이터가 증가하고, 그에 따라 데이터베이스 파일의 크기도 증가하게 됩니다. 이는 서버 성능 저하를 유발할 수 있으며, 저장 공간을 효율적으로 사용하기 위해 데이터베이스 축소가 필요할 수 있습니다. 이번 글에서는 MSSQL DB 축소 옵션에 대해 자세히 살펴보겠습니다.

DBCC SHRINKDATABASE 명령어 이해하기

DBCC SHRINKDATABASE 명령어는 데이터베이스 파일의 크기를 줄이는 데 사용됩니다. 이 명령어를 실행하면 데이터 파일의 끝 부분에 있는 사용되지 않는 공간을 제거하여 데이터베이스 크기를 줄일 수 있습니다.

기본 사용법

DBCC SHRINKDATABASE 명령어는 기본적으로 다음과 같은 형태로 사용됩니다:

DBCC SHRINKDATABASE (데이터베이스명)
반응형

이 명령어는 데이터베이스 내의 모든 파일에 대해 사용되지 않는 공간을 줄이는 작업을 수행합니다.

TRUNCATEONLY 옵션

TRUNCATEONLY 옵션은 데이터 파일의 끝 부분에 있는 사용되지 않는 공간만을 제거합니다. 이 옵션을 사용하면 데이터 페이지의 정리는 수행되지 않으며, 단순히 여유 공간만 축소됩니다.

예제

DBCC SHRINKDATABASE (shrinkDB, TRUNCATEONLY)

효과

이 명령어를 실행하면 데이터 페이지를 정리하지 않고도 파일의 끝 부분에 있는 여유 공간만 제거되어 데이터베이스 크기가 줄어듭니다. 이 방법은 빠르게 데이터베이스 크기를 줄이는 데 유용합니다.

반응형

NOTRUNCATE 옵션

NOTRUNCATE 옵션은 데이터 페이지를 정리하지만 파일의 크기는 줄이지 않습니다. 이 옵션은 데이터 페이지를 최적화하여 효율성을 높이지만 실제 파일 크기를 줄이지는 않습니다.

예제

DBCC SHRINKDATABASE (shrinkDB, NOTRUNCATE)
반응형

효과

이 명령어를 사용하면 데이터 페이지가 정리되어 데이터베이스의 효율성이 향상됩니다. 그러나 파일의 물리적 크기는 변하지 않습니다.

 

DBCC SHRINKDATABASE의 기본 실행

옵션 없이 DBCC SHRINKDATABASE 명령어를 실행하면 NOTRUNCATE 옵션과 TRUNCATEONLY 옵션이 차례대로 적용되는 효과를 얻을 수 있습니다. 이는 데이터 페이지를 먼저 정리한 후 여유 공간을 축소하는 방식으로 작동합니다.

예제

DBCC SHRINKDATABASE (shrinkDB)
반응형

효과

이 명령어는 데이터베이스 파일의 크기를 최대한 줄이기 위해 데이터 페이지를 정리하고 여유 공간을 제거하는 과정을 모두 수행합니다.

 

데이터베이스 축소 시 고려 사항

데이터베이스 축소는 여러 가지 이점을 제공하지만, 무조건적으로 실행해서는 안 됩니다. 축소 작업은 데이터베이스의 성능에 영향을 미칠 수 있으며, 데이터 페이지를 정리하는 동안 잠재적인 성능 저하가 발생할 수 있습니다. 따라서 다음과 같은 사항들을 고려해야 합니다.

축소 작업의 빈도

데이터베이스 축소 작업은 주기적으로 수행하기보다는 필요할 때만 실행하는 것이 좋습니다. 지나치게 자주 축소 작업을 수행하면 오히려 데이터베이스 성능에 부정적인 영향을 미칠 수 있습니다.

백업 전략

데이터베이스 축소 작업 전에 반드시 데이터베이스를 백업해야 합니다. 축소 작업 중 예기치 않은 오류가 발생할 경우 데이터를 복원할 수 있어야 하기 때문입니다.

인덱스 재구성

데이터베이스 축소 작업 후에는 인덱스를 재구성하여 데이터 페이지의 최적화를 유지하는 것이 좋습니다. 인덱스 재구성은 데이터베이스의 성능을 향상시키는 데 중요한 역할을 합니다.

반응형

결론

MSSQL 데이터베이스 축소는 저장 공간을 효율적으로 사용하고 성능을 유지하기 위한 중요한 작업입니다. DBCC SHRINKDATABASE 명령어와 그 옵션들(TRUNCATEONLY, NOTRUNCATE)을 잘 이해하고 적절하게 활용하면 데이터베이스 관리를 효과적으로 할 수 있습니다. 하지만 축소 작업 시에는 신중한 접근이 필요하며, 데이터베이스 성능 최적화와 백업 전략을 함께 고려하는 것이 중요합니다.

 

반응형