백업 압축과 추적플래그 3042
-
Version : SQL Server 2008, 2008R2, 2012, 2014
SQL Server의 백업 압축은 SQL Server 2008부터 지원되며 압축된 백업은 동일한 데이터의 압축되지 않는 백업보다 작으므로 일반적으로 I/O에 대한 비용이 절약되며 백업속도가 크게 향상된다. 하지만 압축을 하기 위한 추가 연산으로 약간의 CPU 오버헤드가 발생한다. 하지만 시스템 중에 가장 느린 부분은 디스크 이므로 CPU의 오버헤드를 감안하여도 충분히 이점이 있는 작업이다.
압축된 백업에 대한 최종 백업 파일의 크기는 데이터의 압축 가능한 정도에 따라 달라진다. 백업작업이 완료되기 전까지는 크기를 알 수 없다. 따라서 기본적으로 압축을 사용하여 데이터베이스를 백업 할 때 데이터베이스 엔진은 백업 파일에 대한 사전 할당 알고리즘을 사용한다.
사전 할당 알고리즘은 백업 파일의 데이터베이스 크기에 대해 미리 정의된 백분율이 사전 할당 된다. 백업하는 동안 더 많은 공간이 필요한 경우 데이터베이스 엔진은 파일을 계속해서 늘려간다. 백업 작업의 마지막에 최종 크기가 할당된 공간보다 작으면 데이터베이스 엔진이 파일을 백업의 실제 최종 크기로 축소한다.
추적플래그 3042는 백업 파일을 최종 크기에 도달하는데 필요한 만큼만 늘리도록 허용한다. 이 추적 플래그를 사용하면 백업 작업에 기본 백업 압축 사전 할당 알고리즘을 무시하여 압축된 백업에 실제로 필요한 크기만 할당하여 공간에 저장해야 하는 경우 유용하다. 이 추적 플래그를 활성화 하면 약간의 성능저하가 발생 하여 백업 작업 시간이 늘어날 수 있다.
DBCC TRACEON (3042,-1); GO BACKUP DATABASE SW_TEST to DISK = N'D:\SQL_Backup\SW_TEST.bak' WITH COMPRESSION GO DBCC TRACEOFF (3042,-1); GO |
[참고자료]
-
Testing SQL Server Backup Performance with Trace Flag 3042 :
2015-05-12 / 강성욱 / http://sqlmvp.kr
SQL Server, MSSQL, 백업압축, SQL 백업, Trace Flag 3042, 추적플래그3042, 백업 사전 할당, 백업 파일, 백업 크기, DB백업
'SQL Server > SQL Server Tip' 카테고리의 다른 글
실행계획의 물리 및 논리연산자 설명 (0) | 2015.07.23 |
---|---|
SQL Server Page Life Expectancy (PLE) (0) | 2015.07.23 |
SQL Server에서 MySQL 링크드서버 연결하기 (0) | 2015.07.23 |
SOS_SCHEDURLER_YIELD 대기와 쿼리 식별 (0) | 2015.07.23 |
랜덤 캐릭터 생성하기 (0) | 2015.07.23 |