데이터베이스 개발자 Tip & 강좌

SQLER의 개발자들이 만들어가는 데이터베이스 사용자 Tip & 강좌 게시판입니다. SQL서버, Oracle, MySQL 등 여러 클라우드/오픈소스 기반 데이터베이스 개발 및 운영 관련 팁과 쿼리 노하우를 이곳에서 가장 먼저 접하실 수 있습니다. 많은 도움 되시길 바랍니다.

백업 압축과 추적플래그 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
2033 SQL Server 데이터베이스 속성을 확인할 때 사용되는 master.dbo.spt_values 복구 jevida(강성욱) 2017.01.11 1575
2032 XML로 생성된 정보를 테이블로 저장하기(sp_xml_preparedocument) jevida(강성욱) 2017.01.11 2244
2031 SQL Server 2016 Temporal Table – 데이터 변경 내용 추적 jevida(강성욱) 2017.01.11 1919
2030 Error 17053 타사 네트워크 장치의 SMB 파일 공유 오류 jevida(강성욱) 2017.01.11 1155
2029 최신 SQL Server Native Client 설치하기 jevida(강성욱) 2017.01.11 1796
2028 Sys.dm_os_waiting_tasks를 활용한 실행중인 병렬쿼리 확인 jevida(강성욱) 2017.01.11 1528
2027 DBCC DROPCLEANBUFFERS가 작동하지 않을 때 jevida(강성욱) 2017.01.11 1685
2026 손상된 부트페이지 복구하기 jevida(강성욱) 2017.01.11 1829
2025 Temp table 객체 생성시 세션간 충돌하지 않는 이유 jevida(강성욱) 2017.01.11 1628
2024 SQL Server 데이터베이스 메일 계정 수정 jevida(강성욱) 2017.01.11 2254
2023 XEvent(확장이벤트)를 활용한 활성 로그 모니터링 하기 jevida(강성욱) 2017.01.11 2224
2022 특정 사용자에 대한 트랜잭션 로그 찾기 jevida(강성욱) 2017.01.11 2246
2021 SQL Server I/O 서브시스템 레이턴시 확인 jevida(강성욱) 2017.01.11 1710
2020 실행계획의 물리 및 논리연산자 설명 jevida(강성욱) 2017.01.11 1807
2019 SQL Server Page Life Expectancy (PLE) jevida(강성욱) 2017.01.11 2339
» 백업 압축과 추적플래그 3042 jevida(강성욱) 2017.01.11 2077
2017 SQL Server에서 MySQL 링크드서버 연결하기 jevida(강성욱) 2017.01.11 4538
2016 SOS_SCHEDURLER_YIELD 대기와 쿼리 식별 jevida(강성욱) 2017.01.11 3429
2015 랜덤 캐릭터 생성하기 jevida(강성욱) 2017.01.11 2227
2014 트랜잭션로그 파일이 손상된 데이터베이스 복원 하기 jevida(강성욱) 2017.01.11 4313





XE Login