백업 압축(SQL Server)
이 항목에서는 제한 사항, 백업 압축이 성능에 미치는 영향, 백업 압축의 구성 및 압축 비율을 비롯하여 SQL Server 백업의 압축에 대해 설명합니다.
[!참고]
백업 압축을 지원하는 SQL Server 2012 버전에 대한 자세한 내용은 SQL Server 2012 버전에서 지원하는 기능을 참조하십시오. SQL Server 2008 이상의 모든 버전에서는 압축된 백업을 복원할 수 있습니다.
항목 내용
이점
제한 사항
백업 압축이 성능에 미치는 영향
압축된 백업의 압축 비율 계산
백업 파일에 대한 공간 할당
관련 태스크
이점
압축된 백업은 동일한 데이터의 압축되지 않은 백업보다 작으므로 일반적으로 백업 압축에 필요한 장치 I/O가 더 적고 따라서 백업 속도가 크게 향상됩니다.
자세한 내용은 이 항목 뒷부분의 백업 압축이 성능에 미치는 영향을 참조하십시오.
[맨 위]
제한 사항
다음은 압축된 백업에 적용되는 제한 사항입니다.
압축된 백업과 압축되지 않은 백업은 미디어 세트에 동시에 존재할 수 없습니다.
이전 버전의 SQL Server에서는 압축된 백업을 읽을 수 없습니다.
NTbackup은 압축된 SQL Server 백업과 테이프를 공유할 수 없습니다.
[맨 위]
백업 압축이 성능에 미치는 영향
기본적으로 압축하면 CPU 사용량이 크게 늘어나고 압축 프로세스로 사용되는 추가 CPU는 동시 작업에 악영향을 줄 수 있습니다. 따라서 CPU 사용량이 리소스 관리자에 의해 제한되는 세션에서 우선 순위가 낮은 압축 백업을 만들 수 있습니다. 자세한 내용은 리소스 관리자를 사용하여 백업 압축을 통해 CPU 사용량 제한(Transact-SQL)을 참조하십시오.
백업 I/O 성능을 손쉽게 확인하려면 다음과 같은 성능 카운터를 평가하여 백업 I/O를 장치로 격리하거나 장치에서 격리하면 됩니다.
물리적 디스크 카운터 등의 Windows I/O 성능 카운터
SQLServer:Backup Device 개체의 Device Throughput Bytes/sec 카운터
SQLServer:Databases 개체의 Backup/Restore Throughput/sec 카운터
Windows 카운터에 대한 자세한 내용은 Windows 도움말을 참조하십시오. SQL Server 카운터를 사용하여 작업하는 방법은 SQL Server 개체 사용을 참조하십시오.
[맨 위]
압축된 백업의 압축 비율 계산
백업의 압축 비율을 계산하려면 backupset 기록 테이블의 backup_size 및 compressed_backup_size 열에서 백업의 값을 다음과 같이 사용합니다.
backup_size:compressed_backup_size
예를 들어 3:1 압축 비율은 디스크 공간을 약 66% 절약할 수 있음을 나타냅니다. 이러한 열에 대해 쿼리하려면 다음 Transact-SQL 문을 사용하면 됩니다.
SELECT backup_size/compressed_backup_size FROM msdb..backupset;
압축된 백업의 압축 비율은 압축된 데이터에 따라 달라집니다. 다양한 요소가 결과 압축 비율에 영향을 줄 수 있습니다. 주요 요소는 다음과 같습니다.
데이터의 형식
문자 데이터는 다른 형식의 데이터보다 압축률이 높습니다.
페이지의 행에 포함된 데이터의 일관성
일반적으로 한 페이지에 필드의 값이 같은 행이 여러 개 있는 경우 이 값에 상당한 압축이 발생할 수 있습니다. 반면 임의의 데이터가 들어 있거나 페이지당 하나의 큰 행만 들어 있는 데이터베이스의 경우 압축된 백업의 크기가 압축되지 않은 백업의 크기와 거의 같습니다.
데이터의 암호화 여부
암호화된 데이터는 암호화되지 않은 데이터보다 압축률이 크게 낮습니다. 투명한 데이터 암호화를 사용하여 전체 데이터베이스를 암호화할 경우 백업을 압축해도 크기가 별로 줄어들지 않거나 그대로일 수 있습니다.
데이터베이스의 압축 여부
데이터베이스가 압축된 경우 백업을 압축하면 크기가 줄어들더라도 많이 줄어들지 않을 수 있습니다.
[맨 위]
백업 파일에 대한 공간 할당
압축된 백업에 대한 최종 백업 파일의 크기는 데이터의 압축 가능한 정도에 따라 달라지며, 백업 작업이 완료되기 전까지는 크기를 알 수 없습니다. 따라서 기본적으로 압축을 사용하여 데이터베이스를 백업할 때 데이터베이스 엔진은 백업 파일에 대한 사전 할당 알고리즘을 사용합니다. 이 알고리즘을 사용하면 백업 파일의 데이터베이스 크기에 대해 미리 정의된 백분율이 사전 할당됩니다. 백업하는 동안 더 많은 공간이 필요한 경우 데이터베이스 엔진은 파일을 늘립니다. 백업 작업의 마지막에 최종 크기가 할당된 공간보다 작으면 데이터베이스 엔진이 파일을 백업의 실제 최종 크기로 축소합니다.
백업 파일을 최종 크기에 도달하는 데 필요한 만큼만 늘리도록 허용하려면 추적 플래그 3042를 사용합니다. 추적 플래그 3042를 사용하면 백업 작업에서 기본 백업 압축 사전 할당 알고리즘을 무시합니다. 이 추적 플래그는 압축된 백업에 실제로 필요한 크기만 할당하여 공간에 저장해야 하는 경우 유용합니다. 그러나 이 추적 플래그를 사용하면 약간의 성능 저하가 발생할 수 있습니다(백업 작업 시간이 늘어날 수 있음).