데이터베이스를 복원하기 위해 스크립트에서 FILE = 1을 사용하는 이유


13

최근에 데이터베이스를 복원하기 위해 스크립트를 발견했을 때 왜 " FILE = 1 " 을 사용해야하는지에 대한 의문이 생겼 습니까? 그 진술이 없으면 데이터베이스를 복원 할 수 없습니까!? 기본적으로 무엇을 위해 사용됩니까?

답변:


22

백업 파일 (예 : 장치)에 둘 이상의 백업을 저장할 수 있습니다. 이 FILE절을 사용하면 .bak파일 내에서 여러 항목을 선택할 수있을 때 특정 백업 작업에 액세스 할 수 있습니다 .

RESTORE 명령 의 다양한 옵션에 대한 자세한 정보 는 RESTORE 인수에 대한 다음 MSDN 문서를 참조하십시오 .

당신은 아래에 보면 백업 세트 옵션 섹션, 당신은 발견 할 것이다 :

파일 = { backup_set_file_number | @ backup_set_file_number }

복원 할 백업 세트를 식별합니다. 예를 들어, backup_set_file_number1 백업 매체 상에 제 백업 세트를 표시하고 backup_set_file_number2 번째 백업 세트를 나타낸다. RESTORE HEADERONLY 문을 사용하여 백업 세트 의 backup_set_file_number 를 얻을 수 있습니다 .

지정하지 않으면 기본값은 1이며, RESTORE HEADERONLY를 제외하고 미디어 세트의 모든 백업 세트가 처리됩니다. 자세한 내용은이 항목 뒷부분의 "백업 세트 지정"을 참조하십시오.

중요 사항
이 FILE 옵션은 데이터베이스 파일을 지정하기위한 FILE 옵션과 관련이 없습니다. FILE = { logical_file_name_in_backup | @ logical_file_name_in_backup_var }.

예, 어쨌든 기본값 은 FILE = 1그대로 유지 하면서 복원 할 수 있어야 1합니다. 또한 백업 파일에 단일 백업 세트 만있는 경우 문제가되지 않습니다.

FILE옵션 사용시기를 설명하는 예제 는 다음과 같습니다 . RESTORE 명령 MSDN 페이지 (위에 링크 됨)의 예 B 입니다. 단일 백업 파일에서 두 가지 복원을 수행하는 것을 보여줍니다. 첫 번째 RESTORE는 FULL 백업이고 두 번째 RESTORE는 DIFFerential 백업입니다.

RESTORE DATABASE AdventureWorks2012
   FROM DISK = 'Z:\SQLServerBackups\AdventureWorks2012.bak'
   WITH FILE = 6
      NORECOVERY;
RESTORE DATABASE AdventureWorks2012
   FROM DISK = 'Z:\SQLServerBackups\AdventureWorks2012.bak'
   WITH FILE = 9
      RECOVERY;
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.