次の方法で共有


復元セットの生成

復元セットは、復元するすべてのファイルと復元先の場所の一覧です。

バックアップ ファイルの一覧を生成する場合と同様に ( 「バックアップ セットの生成」を参照)、復元するファイルと復元する場所を決定するためのアルゴリズムは、 ライター インスタンスごとにライター インスタンス を続行し、各ライター インスタンスのコンポーネントごとに続行する必要があります。

バックアップ メディア上の各ファイルを、それを管理するコンポーネントに関連付ける必要があります。 また、管理コンポーネントの 復元方法、ファイルの 復元ターゲット 情報、およびその 代替の場所マッピング (存在する場合) を取得する必要もあります。

一部のファイルでは、復元のために 部分的なファイル 操作や 転送先が 必要になる場合もあります。

バックアップパスと論理パスに対するコンポーネントの選択性を調べることで (「選択性と論理パスの操作」を参照)、リクエスターは復元するバックアップ操作のコンポーネント構造を決定できます。

バックアップのコンポーネント構造が確立されると、リクエスターは各コンポーネントの ファイル セット 情報 (ファイルの指定、パス、再帰フラグ) を取得できます。 その後、リクエスターは復元セットを生成できます。

部分ファイルまたは転送先を必要とするファイルには、独自の詳細な復元手順が用意されています (「既定以外のバックアップと復元の場所」を参照)、復元セットに追加できます。

部分的なファイル操作に関係しないファイルまたは 転送先のターゲット に対して復元セットを生成するための一般的なメカニズムは、次の手順を実行して進める場合があります。

  1. 元のパスを含むバックアップ メディア上のファイルの一覧を取得します。

  2. 次の手順を実行して、バックアップ メディア上の各ファイルの ライター クラス とコンポーネントを特定します。

  3. バックアップ メディア上の各ファイルの代替マッピング情報を取得します。

  4. このファイルとコンポーネント情報を使用すると、バックアップ コンポーネント ドキュメントに対してクエリを実行して、各ファイルの復元ターゲット、オプション、および新しい復元場所に関する情報を取得できます。 この情報は、ファイル、コンポーネント、および別の場所の一覧と組み合わせることができます。

  5. ライターによって保護されていないファイルは、従来の復元操作と一致する方法で選択できます。

この時点で、リクエスターには、復元する必要があるすべてのファイルの一覧と、復元方法に関する手順が必要であり、次に基づいてファイルの復元を開始できます。

  • 代替の場所マッピングか、元のファイルの場所を復元のターゲットとして使用するかは、そのターゲットの場所にあるファイルの有無と、 VSS_RESTORE_TARGETVSS_RESTOREMETHOD_ENUM のコンポーネント設定によって異なります ( 「既定以外のバックアップと復元の場所」を参照)。
  • 復元の試行が成功するかどうかは、ターゲットのアクセス許可、ターゲット ファイルがロックされている場合、ファイルの復元に関するその他の従来の問題などの問題によって異なります。
  • 特定のライター インスタンスの特定のコンポーネントの復元の成功または失敗は、 IVssBackupComponents::SetFileRestoreStatus を呼び出して、バックアップ コンポーネント ドキュメントに保持する必要があります。 これにより、PostRestore イベントを処理するときに、ライターが情報にアクセスできるようになります。
  • ファイルが別の場所のマッピングに復元された場合、要求元は IVssBackupComponents::AddAlternativeLocationMapping を呼び出す必要があります。 これにより、ライターは、 IVssComponent::GetAlternateLocationMapping を使用してファイルが別の場所に復元されたかどうかを判断できます。
  • 要求者は、ファイルを完全に新しい場所に復元することが望ましい場合があります。 これは許容されますが、要求元は IVssBackupComponents::AddNewTarget メソッドを使用してライターにこれを示す必要があります。