백업을 수행 할 때 복원 헤더 만 사용하는 것은 무엇입니까?


10

다음 쿼리로 백업을 모니터링 할 때 :

SELECT      command, percent_complete,
            'elapsed' = total_elapsed_time / 60000.0,
            'remaining' = estimated_completion_time / 60000.0
FROM        sys.dm_exec_requests
WHERE       command like 'BACKUP%'
or command like 'RESTORE%'

백업 전에 SQL Server는 복원 헤더 만 수행 한 다음 백업을 수행합니다.

나는 그것이 무엇을 사용했는지 궁금했고 실행 시간이 어떻게 든 단축 될 수 있는지 궁금합니다. 실제 백업보다 시간이 오래 걸립니다.

답변:


7

백업 전에 SQL Server는 복원 헤더 만 수행 한 다음 백업을 수행합니다.

이것은 SQL Server에서 내부적으로 수행되는 복원 단계의 일부일 수 있습니다.

를 사용하여 복원 단계를 살펴볼 수 있습니다 DBCC TRACEON(3604, 3605, 3004);. NON PROD 서버에서 교육 목적으로 만 사용하십시오.

여기에 이미지 설명을 입력하십시오

여기에 이미지 설명을 입력하십시오

위에서 볼 수 있듯이 기본적으로 3 가지 주요 복원 단계 (데이터 복사, 실행 취소 및 재실행 단계) 와 함께 백업 세트를 열고로드하는 다른 하위 단계가 있습니다.

실제 백업보다 시간이 오래 걸립니다.

복원 시간을 향상 시키려면

  • 즉시 파일 초기화를 활성화합니다.
  • with REPLACE삭제 및 복원 대신 기존 데이터베이스에 대해 T-SQL을 사용 하고 복원하십시오.
  • msdb를 올바르게 유지 관리해야합니다.
  • VLF를 확인하십시오. VLF가 많을수록 복원 시간이 길어집니다.

@AaronBertrand의 느린 백업 또는 복원 베이비 시팅을 참조하십시오 .


6

RESTORE HEADERONLY SQL Server가 실제 백업에 앞서 대상 파일에서 특정 속성을 확인할 수 있도록합니다.

BACKUP DATABASE ...유지 관리 계획 GUI를 사용하는 대신 SQL Server 에이전트 작업에서 T-SQL 을 사용하여 백업을 실행하면 문제가 발생할 수 있습니다.


3

RESTORE HEADERONLY백업에 많은 VLF (가상 로그 파일)가 포함되어 있으면 시간이 오래 걸릴 수 있습니다. 소스 데이터베이스 로그 파일을 적절한 크기로 축소하고 다시 늘리면 복원을 수행하는 데 걸리는 시간을 처리하는 데 약간의 성공이있을 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.