SQL Server/SQL Server Tip

압축 백업 시 Checksum 옵션으로 손상 확인하기

SungWookKang 2015. 7. 23. 09:41
반응형

압축 백업 시 Checksum 옵션으로 손상 확인하기

 

  • Version : SQL Server 2012

 

데이터베이스를 백업할 때 이미 백업 자체가 손상되어 있다면 백업이 아무런 의미가 없다. 백업 할 때 CHECK 옵션을 사용하여 손상 여부를 확인 할 수 있다.

 

백업할 때 WITH CHECKSUM 매개변수는 각 페이지의 체크섬을 확인하고 손상이 있을 경우 경고를 발생 한다.

  • NO_CHECKSUM : 백업 체크섬 생성 및 페이지 체크섬의 유효성 검사를 명시적으로 해제 한다.
  • CHECKSUM : 백업 작업이 각 페이지의 체크섬과 조각난 페이지를 확인하고 사용 가능할 경우 전체 백업에 대해 체크섬을 생성하도록 지정한다. 백업 체크섬을 사용하면 작업 및 백업 처리량에 영향을 줄 수 있다.

 

다음은 SQL Server에서 서비스를 중지한다 다음 헥사에디터 프로그램을 사용하여 클러스터인덱스에 손상을 가하였다. 그리고 일반적인 압축 백업을 진행 하였다.

BACKUP DATABASE [AdventureWorks2012] TO DISK = N'\\DC1\SQLCLUSTERA\MSSQL\Backup\AW20131202_248_NoChecksum' WITH NOFORMAT,

INIT, NAME = N'AdventureWorks2012-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, COMPRESSION, STATS = 10

 

압축 백업의 기본 설정이 WITH CHECKSUM 임에도 불구하고 백업이 오류 없이 잘 진행되었다. 이번에는 압축 백업에 명시적으로 CHECKSUM 옵션을 사용하였다.

BACKUP DATABASE [AdventureWorks2012] TO DISK = N'\\DC1\SQLCLUSTERA\MSSQL\Backup\AW20131202_256_Checksum' WITH NOFORMAT, INIT, NAME = N'AdventureWorks2012-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, COMPRESSION, STATS = 10, CHECKSUM

 

다음 에러 구문과 함께 백업이 중단 되었다.

10 percent processed.

Msg 3043, Level 16, State 1, Line 4

BACKUP 'AdventureWorks2012' detected an error on page (1:3578) in file '\\dc1\SQLClusterA\MSSQL\Data\AdventureWorks2012_Data.mdf'.

Msg 3013, Level 16, State 1, Line 4

BACKUP DATABASE is terminating abnormally

 

결론적으로 압축 백업에서는 체크섬을 기본적으로 확인 하지 않았다. BOL 문서에는 다음과 같이설명 되어 있다. [This is the default behavior, except for a compressed backup.]

 

SQL Server 2012에서 도입된 AlwaysOn 가용성 그룹의 장점은 복제 본 중 하나가 손상되면 페이지를 자동으로 복구 한다는 것이다. 위에서 첫 번째 백업(compression, no_checksum)을 실행 한 후 sys.dm_hadr_auto_page_repair을 실행 하였을 때 손상을 감지 하지 못하였다. 두 번째 백업(compression, checksum)을 실행 한 후 sys.dm_har_auto_repair를 조회하였을 때에는 페이지 손상이 감지 되고 자동 페이지 복구 이후 정상적인 백업이 완료 되었다.

 

[참고자료]

http://www.brentozar.com/archive/2013/12/alwayson-availability-groups-backup-checksums-and-corruption/

 

 

2014-01-20 / 강성욱 / http://sqlmvp.kr

 

 

반응형