バックアップ操作中、リクエスターは IVssBackupComponents::SetBackupState を使用して、進行中の操作の種類を定義します。
この情報は、バックアップ コンポーネント ドキュメントに簡単に取得できる形式には含まれていないため、要求者の開発者は、この情報をバックアップ メディアに個別に格納する必要があります。
バックアップの状態には、次のものが含まれます。
-
バックアップの種類
-
バックアップの種類は、バックアップするファイルを識別するための条件を指定します。 これらの条件の評価は、VSS API を使用して行う必要があります。
実行するバックアップの種類と操作するライターを決定する場合、リクエスターは、システムの各ライターがサポートするバックアップ操作の種類 (またはスキーマ) を調べる必要があります (ライター バックアップ スキーマのサポートを参照してください)。 VSS のバックアップには、次の種類を指定できます。
- 完全 (VSS_BT_FULL) - ファイルは、最後のバックアップ日に関係なくバックアップされます。 各ファイルのバックアップ履歴が更新され、この種類のバックアップを増分バックアップまたは差分バックアップの基礎として使用できます。 完全バックアップを復元するには、1 つのバックアップ イメージのみが必要です。
- バックアップのコピー (VSS_BT_COPY) は、VSS_BT_FULLバックアップの種類と同様に、最後のバックアップ日に関係なくバックアップされます。 ただし、各ファイルのバックアップ履歴は更新されず、この種のバックアップを増分バックアップまたは差分バックアップの基礎として使用することはできません。
- 増分 (VSS_BT_INCREMENTAL) - VSS API は、最後の完全バックアップまたは増分バックアップ以降に変更または追加されたファイルのみがストレージ メディアにコピーされるようにするために使用されます。 増分バックアップを復元するには、元のバックアップ イメージと、初回バックアップ以降に作成されたすべての増分バックアップ イメージが必要です。
- 差分 (VSS_BT_DIFFERENTIAL) - VSS API は、前回の完全バックアップ以降に変更または追加されたファイルのみがストレージ メディアにコピーされるようにするために使用されます。すべての中間バックアップ情報は無視されます。 差分バックアップを復元するには、元のバックアップ イメージと、前回の完全バックアップ以降に作成された最新の差分バックアップ イメージが必要です。
- ログ ファイル (VSS_BT_LOG) - ライターのログ ファイル (IVssCreateWriterMetadata::AddDataBaseLogFiles メソッドを使用してコンポーネントに追加され、IVssWMComponent::GetDatabaseLogFileの呼び出しによって取得されたファイル) のみがバックアップされます。 このバックアップの種類は VSS に固有です。
要求者は、VSS の外部で情報と方法を使用してこれらのバックアップを実装できます。 要求元が VSS API を使用してバックアップを実装する場合にのみ、一覧に示されているバックアップの種類の 1 つがあると言う必要があります。 たとえば、要求元は、IVssWMComponent::GetDatabaseLogFile によって返された情報を使用してログ ファイルを識別した場合にのみ、VSS_BT_LOGの種類のバックアップに参加します。 同様に、「増分バックアップと差分バックアップ で説明されているように、VSS_BT_INCREMENTALとVSS_BT_DIFFERENTIALの種類は増分操作または差分操作にのみ適用。
-
選択性に関する 仕様
-
VSS バックアップでは、コンポーネントの選択性に関する VSS の概念を尊重することを選択できます。これは、コンポーネント モード実行と呼ばれます。または、それらを無視します。
コンポーネント モードで実行されない例としては、システム イメージ バックアップが実行されます。バックアップ アプリケーションでは、データの安定性を確保するためにライターの協力が必要ですが、コンポーネントの選択は関係ありません。
-
起動可能な状態を保存する
-
VSS では、実行中のシステム状態を完全に起動可能な構成で保存できます。 ただし、これは必ずしも必要であるとは限りません。また、起動可能な状態を保存するためのライターの準備によって、実行中のシステムのリアルタイム パフォーマンスが低下する場合があります。
したがって、リクエスターは、バックアップに起動可能なシステム状態を IVssBackupComponents::SetBackupState引数として含めるかどうかを示します。 ライターは、CSVsWriter::IsBootableStateBackedUpを呼び出すことによって、起動可能なシステム状態の保存をサポートする必要があるかどうかを判断します。
起動可能なシステム状態が選択されていない場合でも、システム ファイルのシャドウ コピーが作成され、ファイルがバックアップされる可能性があります。
ただし、バックアップで起動可能なシステム状態が保存されなかった場合は、システム ファイルの復元に細心の注意を払う必要があります (「Windows Server 2003 R2 および Windows Server 2003 SP1 でのシステム状態のバックアップと復元を参照してください)。
取得したバックアップ コンポーネント ドキュメントからこの情報を回復することはできないため、要求者の作成者は、システムが起動可能なシステム状態でバックアップされたかどうかを格納する必要があります。
-
部分ファイルのサポートの
-
一部のライターは、管理するファイルの一部を上書きすることでファイルの復元をサポートします。 リクエスターはこれを利用するように設計されている場合があり、それを示す場合は、IVssBackupComponents::SetBackupStateで情報を設定します。