다음을 통해 공유


작성기별 구성 요소 정의

작성기 메타데이터 문서가 채워질 때 백업 작업 시작 시 식별 이벤트에 대한 응답으로 작성기 메타데이터 문서의 작성자가 구성 요소를 정의하고 인스턴스화합니다( 백업 초기화 개요 참조).

작성기 메타데이터 문서에서 IVssCreateWriterMetadataIVssCreateWriterMetadata::AddComponent를 사용하여 구성 요소를 만들 때 작성기는 다음을 지정해야 합니다.

작성기는 필요에 따라 다음을 지정할 수 있습니다.

  • 구성 요소의 논리적 경로(지정된 작성기 instance 내에서뿐만 아니라 모든 기록기 인스턴스에서 고유해야 함)
  • 구성 요소 설명(또는 캡션)
  • 구성 요소를 나타내기 위해 GUI와 함께 사용할 아이콘

구성 요소가 실제로 파일을 포함할 필요는 없습니다. 이러한 종류의 빈 구성 요소 또는 "더미" 구성 요소는 구성 요소를 구성하는 데 유용할 수 있습니다. 이러한 구성 요소는 구성 요소 집합 및 작성기의 구성 요소를 정의하는 데 사용할 수 있습니다(구성 요소의 논리적 경로 참조).

구성 요소 조직 설정

구성 요소의 선택 가능성 ( 백업 선택 가능성복원 선택 가능성) 및 논리적 경로를 설정하면 작성기에서 백업 또는 복원 작업에 특정 구성 요소를 포함하도록 위임하거나 선택적으로 지정하고 구성 요소를 구성 요소 집합 으로 그룹화할 수 있습니다.

이러한 그룹의 멤버 자격은 백업 및 복원 작업 중에 사용할 구성 요소를 결정합니다. "selectable"을 사용하여 백업 작업에 대해 다시 선택할 수 있고 복원 작업을 위해 복원할 수 있음을 의미하기 위해 개발자는 다음을 이해해야 합니다.

  • 지정된 작성기에서 관리하는 구성 요소가 백업되는 경우 요청자는 백업 구성 요소 문서에 대한 논리적 경로에 선택 가능한 상위 항목이 없는 모든 선택 불가능한 구성 요소를명시적으로 포함하고 해당 구성 요소를 그룹으로 백업 및 복원해야 합니다.
  • 요청자는 백업 및 복원 작업 중에 선택 가능한 구성 요소를 백업 구성 요소 문서에 명시적으로 추가할 수 있습니다. 추가되면 구성 요소를 백업하거나 복원해야 합니다.
  • 구성 요소를 선택할 수 있는 경우 구성 요소와 모든 하위 구성 요소 (논리 경로에 정의된 대로)는 구성 요소 집합을 형성하며, 이 구성 요소는 필요에 따라 백업 및 복원 작업에 참여할 수 있는 단일 단위로 처리할 수 있습니다.
  • 요청자는 백업 및 복원 작업 중에 선택 가능한 상위 항목이 있는 선택 불가능한 구성 요소( 구성 요소 집합의 하위 구성 요소)를 백업 구성 요소 문서에 명시적으로 추가하지 않습니다. 이러한 구성 요소는 선택 가능한 상위 항목이 명시적으로 추가된 경우 암시적으로 포함되어 야 합니다. 이 경우 백업하거나 복원해야 합니다( 요청자가 구성 요소 사용 참조).
  • 선택 가능한 상위 항목이 있는 선택 가능한 구성 요소는 여전히 하위 구성 요소(구성 요소 집합의 멤버)이며 선택 가능한 상위 항목이 작업에 명시적으로 포함된 경우 암시적으로 포함될 수 있습니다. 이 경우 해당 정보는 백업 구성 요소 문서에 추가되지 않습니다. 선택한 상위 항목이 작업에 포함되지 않은 경우 구성 요소를 명시적으로 선택하여 작업에 포함할 수 있습니다. 이 경우 해당 정보가 백업 구성 요소 문서에 포함됩니다.
  • 백업에 암시적으로 포함된 하위 구성 요소는 복원을 위해 선택할 수 있는 경우 선택 가능한 상위 항목의 상태 관계없이 복원 작업에 명시적으로 포함될 수 있습니다. 복원 작업 중에 포함된 복원 하위 구성 요소에 대해 선택할 수 있는 모든 항목에는 백업 구성 요소 문서에 해당 정보가 추가되어야 합니다.
  • PrepareForBackupPreRestore 이벤트가 생성되기 전에 백업 구성 요소 문서에 명시적으로 추가된 구성 요소가 없는 작성기는 더 이상 VSS 이벤트를 받지 않습니다.

자세한 내용은 선택 가능성 및 논리 경로 작업을 참조하세요.

구성 요소에 파일 추가

구성 요소에는 다음이 포함된 파일 집합 형식의 파일 정보가 포함됩니다.

  • 구성 요소에 있는 파일의 루트 디렉터리입니다.
  • 구성 요소의 파일에 대한 파일 사양입니다.
  • 구성 요소의 사양이 재귀적인지 여부를 나타내는 플래그입니다.

데이터베이스 또는 파일 그룹일 수 있는 구성 요소 유형 및 로드할 파일이 데이터 또는 로그 파일인지 여부에 따라 기록기는 IVssCreateWriterMetadata::AddFilesToFileGroup, IVssCreateWriterMetadata::AddDatabaseFiles 또는 IVssCreateWriterMetadata::AddDatabaseLogFiles 를 호출하여 파일 집합을 추가합니다.

이러한 함수를 사용하는 경우 다음과 같이 파일 집합에 추가할 파일을 지정해야 합니다.

  • wszPath: 파일 집합에 추가할 파일이 포함된 디렉터리의 경로입니다. bRecursive 매개 변수가 true로 설정된 경우 wszPath 매개 변수는 재귀적으로 트래버스할 디렉터리의 계층 구조를 지정하고 빈 디렉터리를 포함하여 모든 디렉터리를 다시 만들어야 합니다.
  • wszFilespec: 이 문자열은 파일 집합에 추가할 각 디렉터리의 파일을 지정합니다.

예를 들어 다음 디렉터리 구조가 있다고 가정합니다.

C:\\Directory1\\File1.txt C:\\Directory1\\File2.txt C:\\Directory1\\Directory2\\File1.txt C:\\Directory1\\Directory2\\File2.txt C:\\Directory1\\Directory3\\

작성기가 wszPath에 대해 "C:\Directory1", wszFilespec의 경우 "File1.*", bRecursive의 경우 true를 지정하는 경우 요청자는 다음 파일을 포함해야 합니다.

C:\\Directory1\\File1.txt C:\\Directory1\\Directory2\\File1.txt

작성기가 wszPath에 대해 "C:\Directory1", wszFilespec의 경우 "*", bRecursive의 경우 true를 지정하는 경우 요청자는 다음 파일을 포함해야 합니다.

C:\\Directory1\\File1.txt C:\\Directory1\\File2.txt C:\\Directory1\\Directory2\\File1.txt C:\\Directory1\\Directory2\\File2.txt

작성기가 wszPath에 대해 "C:\Directory1", wszFilespec의 경우 "*", bRecursive의 경우 false를 지정하는 경우 요청자는 다음 파일을 포함해야 합니다.

C:\\Directory1\\File1.txt C:\\Directory1\\File2.txt

앞의 모든 예제에서 작성기가 bRecursivetrue를 지정할 때마다 빈 디렉터리 C:\Directory1\Directory3\을 다시 만들어야 합니다.

파일 그룹 구성 요소에 추가된 파일 집합의 경우 현재 디스크에 있는 파일이 기록기에서 적절한 위치 또는 기본 위치로 간주되지 않는 경우 작성기에는 대체 경로를 추가할 수 있는 옵션이 있습니다. 이러한 경우 파일 집합의 경로 정의에는 파일의 정상적인 위치와 파일을 복원해야 하는 위치가 포함되고 대체 경로에는 백업할 파일의 현재 위치가 포함됩니다.

파일 집합의 모든 파일은 백업 시 존재해야 합니다. 요청자는 파일 집합에 나열된 모든 파일이 백업에 필요하고 파일이 누락된 경우 백업에 실패한다고 가정해야 합니다. wszFilespec 매개 변수에 대해 "*"를 지정하면 0개 이상의 파일과 일치할 수 있습니다.

대체 위치 매핑, 명시적으로 포함 및 제외된 파일 및 복원 메서드와 같은 기록기 메타데이터 문서 특성은 구성 요소 수준이 아닌 작성기 수준에서 설정됩니다. 자세한 내용은 기록기 메타데이터 문서 작업을 참조하세요.

백업 및 복원 작업에 대한 구성 요소 정의

복원 및 백업 작업은 모두 Identify 이벤트를 생성해야 하며 백업 및 복원 모두 동일한 CVssWriter::OnIdentify 메서드에 의해 처리됩니다.

백업 작업 중에 요청자는 기록기의 CVssWriter::OnIdentify 메서드에서 반환된 정보를 사용하여 시스템에 있는 작성기를 확인한 다음 백업할 파일을 결정합니다.

복원 작업 중에 기록기의 CVssWriter::OnIdentify 이벤트에서 반환되는 정보는 현재 시스템에 있는 기록기의 ID 및 상태 설정하는 데만 사용됩니다. 복원 중에 생성된 파일 사양 정보는 사용되지 않습니다. 대신 백업 시간에 저장된 기록기 메타데이터 문서를 사용하여 이 데이터를 가져옵니다.

백업 작업 중에 생성되면 기록기 구성 요소 정보와 나머지 기록기 정보가 복원 작업을 지원하기 위해 검색되도록 저장됩니다. 일반적으로 이 정보를 저장하는 것은 요청자의 책임입니다.