답변:
어떤 백업 소프트웨어를 사용하든 대답은 '아니오'입니다.
백업은 논리적 작업이 아니라 물리적 작업입니다. 할당 된 페이지를 포함하는 모든 익스텐트를 읽습니다 (예 : 8 페이지 익스텐트의 단일 페이지 만 할당 된 경우에도 전체 64K 익스텐트를 백업 함).
복원은 논리적 작업이 아닌 물리적 작업입니다. 데이터 파일의 올바른 위치에 익스텐트를 기록합니다.
인덱스 (또는 이와 유사한 것)를 다시 작성하는 것은 논리적 작업이며 기록해야합니다. 백업 및 복원은 버퍼 풀을 거치지 않고 데이터 파일을 직접 조작하므로이를 수행 할 수 없습니다. 이를 수행 할 수없는 또 다른 이유는 백업 및 복원이 백업중인 데이터에 포함 된 내용을 이해하지 못하기 때문입니다.
그러나이 작업을 수행 할 수없는 주된 이유는 복원 작업 중에 페이지를 이동하면 b- 트리 포인터가 손상되기 때문입니다. 페이지 A가 페이지 B를 가리 키지 만 복원 프로세스에 의해 페이지 A가 이동되면 페이지 B는 어떻게 페이지 A를 가리 키도록 업데이트됩니까? 즉시 업데이트되면 나머지 복원 프로세스에서 덮어 쓸 수 있습니다. 지연 업데이트 된 경우 복원 프로세스에서 페이지 A 또는 페이지 B를 제거한 일부 트랜잭션 로그를 복원하면 어떻게됩니까? 단순히 할 수 없습니다.
결론-백업 및 복원은 데이터를 변경하지 않는 물리적 작업입니다.
도움이 되었기를 바랍니다!
PS이 질문을 직접 다루지는 않지만, 다양한 백업이 내부적으로 작동하는 방법을 설명하는 July TechNet Magazine ( SQL Server 백업 이해)에 대해 쓴 기사를 확인하십시오 . 9 월 잡지는 복원의 이해에 관한 시리즈의 다음을 가질 것입니다.
네이티브 SQL 백업은 "아니오"가 답 있도록 백업 파일의 단지 페이지 별 덤프입니다. Quest lightspeed 백업은 일종의 압축 압축 알고리즘을 사용하지만 데이터 파일이나 인덱스를 "재 구축"하지는 않지만 큰 데이터베이스에서 끔찍하게 많은 시간이 걸립니다.
백업은 정기적으로 매우 자주 이루어집니다 (희망). 따라서 설계자들은 백업이 가능한 빨리 이루어 지도록했습니다. 가장 빠른 I / O는 무엇입니까? 잇달아 일어나는. 정확한 물리적 순서로 디스크에서 블록을 읽으면 최상의 성능을 얻을 수 있습니다.
왜 지구상에서 매일 밤마다 데이터베이스가 번거로운 임의 I / O 작업을 수행해야 합니까? 차이는 약 2 배 정도입니다. 이것에 대한 가능한 이득은 없습니다.
흠. BradC, 메인 백업 / 복원 유틸리티 / API가 SSMS / EM의 "데이터베이스 복사 ..."와 더 유사한 Firebird / Interbase를 사용해 본 적이 있습니까? 그렇다면 MS SQL Server가 마음에 들지 않는다는 것을 알아야합니다.
SQLServer 백업은 "AS-IS"로 복원되는 데이터베이스 덤프입니다. "다른 위치에서 분리-복사-재 부착"작업을위한 편리한 온라인 바로 가기와 비슷합니다. 복원 된 데이터베이스는 원본 데이터베이스 파일과 거의 동일한 사본입니다 (복원 된 데이터베이스의 데이터베이스 파일 배치를 변경할 수 있기 때문에).