ライター メタデータ ドキュメントの内容
ライター メタデータ ドキュメントには、ライターの識別と分類の情報、ライター レベルの仕様、およびコンポーネント データの 3 つのデータ セットが含まれています。
ライターの識別情報
ライターの識別と分類の情報には、次のものが含まれます。
- ライター名
- ライター クラス ID
- ライター インスタンス
- ライターによって管理されるデータをホスト システムで使用する方法 ( VSS_USAGE_TYPEを参照)
- ライターによって管理されるデータの種類 ( VSS_SOURCE_TYPEを参照)
ライター インスタンスは一意であり、 CVssWriter オブジェクトの初期化時にシステムによって生成されるライター インスタンスを除き、これらの値はすべて、 CVssWriter::Initialize を呼び出すときにライターによって設定され、 IVssExamineWriterMetadata::GetIdentity を呼び出して要求者が使用できます。
ライター インスタンスは一意に生成されるため、格納されているライター メタデータ ドキュメントから取得された格納されたライター インスタンスは役に立たない可能性があります。
VSS_USAGE_TYPE確認することで、アプリケーションは、ライターが一般的なアプリケーション データを管理しているか、または機能するファイルがシステムのブート状態の一部であるか、システム サービスによって使用されているかを判断できます。 バックアップと復元のアプリケーションでは、システムの安定性を維持するために使用の種類を考慮する必要があります。
VSS_SOURCE_TYPE フラグは、バックアップするデータを管理するライターが通常の操作中に実行するアプリケーションの種類を示します。
現時点では、ライターがトランザクションデータベース操作または非トランザクションデータベース操作の一部としてファイルを生成するか、ファイルがより一般的な種類のアクティビティの結果であるかを指定することに限定されています。 この一覧は、時間の経過と同時に増加する可能性があります。 この情報は、ライターのファイルで期待される通常のレベルのアクティビティを決定する際に役立ちます。
Writer-Level仕様
ライター レベルの仕様には、そのスコープ内のライター全体の情報が含まれており、1 つのコンポーネントが管理するデータに関係なく、すべてのデータに適用されます。
ライターは常に 復元方法を指定する必要があります。
必要に応じて、次を指定できます。
- ファイル一覧を除外する
- 復元のための別の場所マッピング
インクルードファイルリストと除外ファイルリストには、コンポーネント内のそれ以外のファイル情報が含まれており、その仕様はコンポーネントの仕様よりも優先されます。
復元方法の仕様
復元メソッドは、IVssCreateWriterMetadata::SetRestoreMethod によってライター メタデータ ドキュメントで設定され、IVssExamineWriterMetadata::GetRestoreMethod を使用してリクエスターによって取得されます。
復元方法を設定する場合、ライターは、ライターによって管理されるすべてのファイルに対して、元の復元先とも呼ばれるファイル復元の推奨される方法を示します。 たとえば、復元メソッドは、ライターによって管理されているすべてのファイルが現在ディスク上のファイルを上書きできるようにする必要があるかどうかを指定します。 (詳細については、「 VSS の復元の構成 と VSS_RESTOREMETHOD_ENUM 」を参照してください)。
ファイル一覧の指定を除外する
除外リストを使用すると、特定のファイルがバックアップ セットに含まれないようにすることで、コンポーネント内のワイルドカード指定を微調整できます。
たとえば、コンポーネントには、c:\Database\*.* のファイル仕様を含むファイル セット が含まれている場合があります。 これは便利な定義ですが、一時ファイルが生成される場合があり (おそらくは *.tmp という形式)、ライターは常にバックアップを防止したいと考えています。
この場合、ライターは IVssCreateWriterMetadata::AddExcludeFiles を使用して*.tmp を除外リストに追加します。 この仕様は再帰的である可能性があります。
要求者は、 IVssExamineWriterMetadata::GetExcludeFile を使用してこの情報を照会します。
除外ファイルの一覧は、コンポーネント ファイルの一覧よりも優先されます。
したがって、ライター メタデータ ドキュメントでバックアップ用に指定されたファイルの一覧は、 明示的に含まれる コンポーネントで指定されたすべてのファイルと 暗黙的に含まれる コンポーネントで構成され、除外されるファイルはすべて含まれません。
代替場所マッピングの仕様
代替の場所マッピングは、ライター メタデータ ドキュメントの作成時に最初に設定され、元の場所にファイルを復元できない場合にファイルを復元できるディスク上の場所を示します。
この情報は、IVssCreateWriterMetadata::AddAlternateLocationMapping を使用して null で終わるワイド文字列として追加され、IVssExamineWriterMetadata::GetAlternateLocationMapping によって IVssWMFiledesc オブジェクトとして取得されます。
代替の場所マッピングがライター レベルのインターフェイス (IVssCreateWriterMetadata と IVssExamineWriterMetadata) を使用して指定および検査されるという事実にもかかわらず、これらはファイル セットの観点から指定されます。 代替場所マッピング (パス、ファイル指定、再帰フラグ) の指定に使用されるファイル セットは、ライターのコンポーネントのいずれかに既に追加されているファイル セットの 1 つと一致する必要があります (「 コンポーネントへのファイルの追加」を参照)。
詳細については、「 既定以外のバックアップと復元の場所」を参照してください。
Component-Level情報
コンポーネント は、バックアップと復元の目的で論理ユニットを形成するファイルのコレクションです。 コンポーネント内のすべてのファイル (明示的に除外されたものを除く) は、1 つのユニットとしてバックアップおよび復元する必要があります。
ライターは、次のコンポーネント情報を指定して、 IVssCreateWriterMetadata::AddComponent を使用してコンポーネントを追加します。
- 型
- 名前
- 論理パス (存在する場合)
- サポートされている機能
- 選択性
- 復元中にライターによって使用されるメタデータ
- 情報を表示する
- 通知情報
バックアップの選択性 と 復元の選択性 は互いに完全に独立しており、ライターはそれらを論理パスと組み合わせて使用して、管理するさまざまなコンポーネント間の関係を示します。 ライターは、 明示的に含める 必要があるコンポーネント (要求者の裁量で明示的に含めることができるコンポーネント) と 、暗黙的にのみ含めることができるコンポーネントを示すことができます。 (「 選択可能性と論理パスの操作」を参照してください)。
ファイルは、 IVssCreateWriterMetadata::AddFilesToFileGroup、 IVssCreateWriterMetadata::AddDatabaseFiles、または IVssCreateWriterMetadata::AddDatabaseLogFiles を使用して、特定のコンポーネントに追加されます。 (「 コンポーネントへのファイルの追加」を参照してください)。
バックアップ中にコンポーネントにファイルを追加する場合、ライターは、バックアップするファイルを定義するファイル セット (パス、ファイル指定、再帰フラグ) を指定する必要があります。
ライターは、バックアップの 代替パス を指定することもできます。これは、前述の 代替の場所マッピング と混同しないでください。 この代替パスは、ボリュームのバックアップ時にファイルのコピー元となる既定以外の場所を示します。
ライター メタデータ ドキュメント内の特定のコンポーネントに関する情報は、IVssExamineWriterMetadata::GetComponent によって返される IVssWMComponent インターフェイスを介して取得できます。
ファイルとパスは、IVssWMFiledesc オブジェクトとして IVssWMComponent で返されます。
ライターのコンポーネント情報については、「ライター によるコンポーネントの定義」で詳しく説明されています。