実際のファイル復元の概要
「復元の初期化の概要」および「復元の準備の概要」で説明されているアクションを実行すると、リクエスターはファイルの復元を開始するのに十分な情報を持ちます。 ファイルの復元には、ライター操作やイベントの生成は含まれません。 詳細については、「 VSS での復元処理の概要」を参照してください。
次の表は、ファイルの復元に必要な一連のアクションとイベントを示しています。
Requester アクション | イベント | ライター アクション |
---|---|---|
バックアップ メディア上のファイルの復元セットの一覧を生成します。 | なし | なし |
ダイレクト ターゲットまたは部分的なファイル復元を処理します (IVssComponent::GetDirectedTarget、IVssComponent::GetPartialFile を参照)。 | なし | なし |
必要に応じて、指定したすべての復元場所を無視し、 以前の IVssBackupComponents::AddNewTarget の呼び出しで指定した新しい場所に復元します。 | なし | なし |
復元が増分であり、さらに復元が必要な場合は、 を指定します ( 「IVssBackupComponents::SetAdditionalRestores 」および「 増分バックアップと差分バックアップ」を参照してください)。 | なし | なし |
ライターがバックアップ コンポーネント ドキュメントの内容を変更したかどうかを確認するには、 IVssBackupComponents::GetWriterComponents を呼び出します。 たとえば、ライターが復元ターゲットを変更した可能性があります。 | なし | なし |
ファイルの復元中のリクエスター アクション
バックアップ メディア上のほとんどのファイルでは、リクエスターは元の場所と、それらに適用される新しい場所または代替の場所マッピングを決定する必要があります。 ( 復元する ファイルと復元する場所を決定する際のベスト プラクティスについては、「復元セットの生成」を参照してください)。
さらに、一部のファイルには ターゲットが設定されているか 、 部分的なファイル の復元がサポートされている場合があります。 このようなファイルの数は、IVssComponent::GetDirectedTargetCount と IVssComponent::GetPartialFileCount を呼び出すことで確認できます。また、復元手順の詳細については、IVssComponent::AddDirectedTarget と IVssComponent::GetPartialFile を呼び出すことで確認できます。 (部分ファイルと有向ファイルは、元のバックアップに暗黙的または明示的に追加されるコンポーネントの一部にすることができます。詳細については、「 復元とサブコンポーネントの選択性の使用 」を参照してください)。
復元の成功または失敗は、 コンポーネントごとに IVssBackupComponents::SetFileRestoreStatus を使用して示されます。 さらに復元操作 (増分または差分復元の場合) の必要性は、 IVssBackupComponents::SetAdditionalRestores を使用してコンポーネントごとに示されます。
一般に、VSS では、ストレージ メディアからデータを取得するためのメカニズム、ストレージ メディアの選択、または復元する場所を特定する方法は指定されていません。
ただし、特定のライターの場合、ファイルの復元には、文書化されたカスタム インターフェイスとプロシージャの使用が必要になる場合があります。 現在このようなサポートが必要な Windows システム ライターについては、 VSS の特殊な使用例に関するページを参照してください。
一般に、各 ライター インスタンス の各コンポーネントのファイルを 1 つのユニットとして処理することをお勧めします。 これには、以下が必要です。
- 復元する各ファイルを、そのファイルを管理するコンポーネントに関連付けます。 これには、ライター メタデータ ドキュメントを使用する必要があります。
- 正しい復元ターゲット情報の取得。 これには、バックアップ コンポーネント ドキュメントの情報が必要です。