백업 및 복원 중 가능한 미디어 오류(SQL Server)

적용 대상:SQL Server

SQL Server는 검색된 오류에도 불구하고 데이터베이스를 복구하는 옵션을 제공합니다. 중요한 새 오류 검색 메커니즘을 사용하면 백업 작업으로 만들고 복원 작업으로 유효성을 검사할 수 있는 백업 체크섬을 만들 수 있습니다. 작업에서 오류를 확인하는지 여부와 오류가 발생할 때 작업이 중지되거나 계속되는지 여부를 제어할 수 있습니다. 백업에 백업 체크섬이 들어 있으면 RESTORE 문과 RESTORE VERIFYONLY 문으로 오류를 검사할 수 있습니다.

참고 항목

미러된 백업은 미디어 세트의 복사본을 최대 4개까지 제공하여 손상된 미디어로 인한 오류로부터 복구하기 위한 대체 복사본을 제공합니다. 자세한 내용은 미러된 백업 미디어 세트(SQL Server)를 참조하세요.

백업 체크섬

SQL Server는 페이지의 체크섬, 로그 블록의 체크섬 및 백업 체크섬의 세 가지 유형의 체크섬을 지원합니다. 백업 체크섬을 생성할 때 BACKUP은 데이터베이스에서 읽은 데이터가 데이터베이스에 있는 체크섬 또는 조각난 페이지 표시와 일치하는지 확인합니다.

BACKUP 문은 필요에 따라 백업 스트림에서 백업 체크섬을 계산합니다. 페이지 체크섬 또는 조각난 페이지 정보가 지정된 페이지에 있으면 페이지를 백업할 때 BACKUP은 페이지의 체크섬 및 조각난 페이지 상태와 페이지 ID도 확인합니다. 백업 체크섬을 만들 때 백업 작업은 페이지에 체크섬을 추가하지 않습니다. 페이지는 데이터베이스에 있을 때 백업되고 페이지는 백업에 의해 수정되지 않습니다.

백업 체크섬을 확인하고 생성하는 오버헤드로 인해 백업 체크섬을 사용하면 성능에 영향을 미칠 수 있습니다. 작업과 백업 처리량이 모두 영향을 받을 수 있습니다. 그러므로 백업 체크섬은 필요한 경우에만 사용하세요. 백업 중에 체크섬을 생성하도록 결정할 때 발생하는 CPU 오버헤드와 시스템의 동시 워크로드에 미치는 영향을 주의 깊게 모니터링합니다.

BACKUP은 디스크의 원본 페이지나 페이지의 내용을 수정하지 않습니다.

백업 체크섬을 사용하도록 설정하면 백업 작업에서 다음 단계가 수행됩니다.

  1. 백업 미디어에 페이지를 쓰기 전에 백업 작업은 페이지 체크섬 또는 조각난 페이지 검색 등 페이지 수준 정보(있는 경우)를 확인합니다. 둘 다 없으면 백업에서 페이지를 확인할 수 없습니다. 확인되지 않은 페이지는 있는 그대로 포함되며 해당 내용은 전체 백업 체크섬에 추가됩니다.

    확인 중에 백업 작업에 페이지 오류가 발생하면 백업이 실패합니다.

    참고 항목

    페이지 체크섬 및 조각난 페이지 검색에 대한 자세한 내용은 ALTER DATABASE 문의 PAGE_VERIFY 옵션을 참조하세요. 자세한 내용은 ALTER DATABASE SET 옵션(Transact-SQL)을 참조하세요.

  2. 페이지 체크섬이 있는지 여부에 관계없이 BACKUP은 백업 스트림에 대해 별도의 백업 체크섬을 생성합니다. 복원 작업은 필요에 따라 백업 체크섬을 사용하여 백업이 손상되지 않았는지 확인할 수 있습니다. 백업 체크섬은 데이터베이스 페이지가 아닌 백업 미디어에 저장됩니다. 백업 체크섬은 필요에 따라 복원 시 사용할 수 있습니다.

  3. 백업 세트의 플래그는 msdb..backupsethas_backup_checksums열에서 포함 백업 체크섬으로 지정됩니다. 자세한 내용은 backupset(Transact-SQL)을 참조하세요.

복원 작업 중에 백업 미디어에 백업 체크섬이 있는 경우 기본적으로 RESTORE 및 RESTORE VERIFYONLY 문은 모두 백업 체크섬과 페이지 체크섬을 확인합니다. 백업 체크섬이 없을 경우 복원 작업은 확인 없이 진행됩니다. 백업 체크섬이 없으면 복원이 페이지 체크섬을 안정적으로 확인할 수 없기 때문입니다.

백업 또는 복원 작업 중 페이지 체크섬 오류에 대한 응답

기본적으로 페이지 체크섬 오류가 발생한 후 BACKUP 또는 RESTORE 작업이 실패하고 RESTORE VERIFYONLY 작업이 계속됩니다. 그러나 지정된 작업이 오류가 발생할 때 실패하는지 또는 가능한 한 계속하는지 여부를 제어할 수 있습니다.

오류가 발생한 후에도 BACKUP 작업이 계속되면 작업은 다음 단계를 수행합니다.

  1. 백업 미디어의 백업 세트에 오류가 포함된 것으로 플래그를 지정하고 msdb 데이터베이스의 suspect_pages 테이블에서 페이지를 추적합니다. 자세한 내용은 suspect_pages(Transact-SQL)를 참조 하세요.

  2. SQL Server 오류 로그에 오류를 기록합니다.

  3. 백업 집합이 이러한 유형의 오류를 포함하는 것으로 표시합니다(msdb.backupset의 is_damaged 열에서). 자세한 내용은 backupset(Transact-SQL)을 참조하세요.

  4. 백업이 성공적으로 생성되었지만 페이지 오류가 포함되어 있다는 메시지를 표시합니다.

관련 작업

백업 체크섬을 사용하거나 사용하지 않도록 설정하려면

백업 작업 중 오류에 대한 응답을 제어하려면

참고 항목

ALTER DATABASE(Transact-SQL)
BACKUP(Transact-SQL)
backupset(Transact-SQL)
미러된 백업 미디어 세트(SQL Server)
RESTORE(Transact-SQL)
RESTORE VERIFYONLY(Transact-SQL)