백업 압축과 추적플래그 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 :

http://www.mssqltips.com/sqlservertip/3626/testing-sql-server-backup-performance-with-trace-flag-3042/

 

 



강성욱 / jevida@naver.com
Microsoft SQL Server MVP
Blog : http://sqlmvp.kr
Facebook : http://facebook.com/sqlmvp

No. Subject Author Date Views
Notice 2023년 1월 - SQLER의 업데이트 강좌 리스트 코난(김대우) 2023.01.02 527
2026 손상된 부트페이지 복구하기 jevida(강성욱) 2017.01.11 1859
2025 Temp table 객체 생성시 세션간 충돌하지 않는 이유 jevida(강성욱) 2017.01.11 1653
2024 SQL Server 데이터베이스 메일 계정 수정 jevida(강성욱) 2017.01.11 2295
2023 XEvent(확장이벤트)를 활용한 활성 로그 모니터링 하기 jevida(강성욱) 2017.01.11 2273
2022 특정 사용자에 대한 트랜잭션 로그 찾기 jevida(강성욱) 2017.01.11 2314
2021 SQL Server I/O 서브시스템 레이턴시 확인 jevida(강성욱) 2017.01.11 1739
2020 실행계획의 물리 및 논리연산자 설명 jevida(강성욱) 2017.01.11 1834
2019 SQL Server Page Life Expectancy (PLE) jevida(강성욱) 2017.01.11 2370
» 백업 압축과 추적플래그 3042 jevida(강성욱) 2017.01.11 2099
2017 SQL Server에서 MySQL 링크드서버 연결하기 jevida(강성욱) 2017.01.11 4668
2016 SOS_SCHEDURLER_YIELD 대기와 쿼리 식별 jevida(강성욱) 2017.01.11 3478
2015 랜덤 캐릭터 생성하기 jevida(강성욱) 2017.01.11 2386
2014 트랜잭션로그 파일이 손상된 데이터베이스 복원 하기 jevida(강성욱) 2017.01.11 4444
2013 트랜잭션 로그 백업을 읽고 트랜잭션 발생 시간 및 사용자 찾기 jevida(강성욱) 2017.01.11 2991
2012 RESOURCE_GOVERNOR_IDLE과 쿼리 성능 jevida(강성욱) 2017.01.11 2052
2011 TDE 암호화된 데이터베이스 복원 jevida(강성욱) 2017.01.11 2512
2010 재해복구를 위한 SQL Server 역할 가져오기 jevida(강성욱) 2017.01.11 2320
2009 비관리자 계정에 Profiler 실행 권한 부여하기 jevida(강성욱) 2017.01.11 3202
2008 SQL Server Agent 공유 일정 생성하기 jevida(강성욱) 2017.01.11 2181
2007 인덱스 리빌드는 통계를 업데이트 할까? jevida(강성욱) 2017.01.11 2428





XE Login