履歴管理の有効化
バージョン対応またはバージョン非対応のデータの履歴管理を有効化するには、カタログ ツリーでデータセットを右クリックして、[履歴管理の有効化] をクリックします。
複数のデータセットの履歴管理を一度に有効化するには、[履歴管理の有効化(Enable Archiving)] ジオプロセシング ツールを使用できます。
ジオデータベースによるデータセットの履歴管理の方法は、データセットがバージョン対応かどうかによって異なります。
バージョン非対応のデータに対する履歴管理の有効化
バージョン非対応のデータに対して履歴管理を有効化する場合、ジオデータベースはそのデータセットのベース テーブルに追加のデータ属性を作成します。これらのデータ属性は、gdb_from_date と gdb_to_date というベース テーブル内の列で、履歴管理される行の有効期間のタイムスタンプを記録するために使用されます。データセットを編集すると、これらの属性が更新され、履歴レコードが時間の経過に伴い保守されます。
バージョン対応のデータに対する履歴管理の有効化
バージョン対応のデータに対する履歴管理の有効化は、データセットのバージョン対応登録と似ています。履歴管理が有効な各データセットに対して、新しいアーカイブ クラスが作成されます。履歴管理を有効にすると、データセットまたはオブジェクト クラスの DEFAULT バージョン内にあるすべての属性とすべての行がアーカイブ クラスにコピーされます。アーカイブ クラスの作成にかかる時間は、有効化するデータセットのサイズによって異なります。アーカイブ クラスには、元のデータセットと同じスキーマの他に、履歴管理される行の有効期間のタイムスタンプを記録する gdb_from_date および gdb_to_date という日付属性と、各行を一意に識別する gdb_archive_oid という属性が追加されます。
バージョン対応テーブルの差分テーブルで履歴行を管理するのではなく、アーカイブ クラスを独立したフィーチャクラスにしたため、データベースの効率性は、アーカイブの存在とサイズに影響されません。データセットは、アーカイブ クラスに影響を与えたりアーカイブ クラスを削除したりすることなく、バージョン対応登録を解除できます。データセットのバージョン対応登録を解除した場合、アーカイブ クラスはオブジェクトまたはフィーチャクラスになります。
データセットの履歴管理を有効にすると、DEFAULT バージョンに保存またはポストされたそのデータに対する変更はすべて、アーカイブ クラスで追加維持されるようになります。履歴データをアーカイブ クラスに追加する機能はありません。アーカイブ クラスを手動で変更すると、ジオデータベースの履歴管理プロセスを壊してしまう可能性があります。
履歴管理の有効化に関するヒント:
- ベース テーブル移行オプションを使用してバージョン対応のデータセットを登録した場合、履歴管理を有効化できません。バージョン対応登録を解除してから、ベース テーブル移行オプションを使用せずにバージョン対応登録する必要があります。
- 履歴管理がすでに有効なデータセットに対して、バージョニングを有効化することはできません。履歴管理を無効化し、データセットをバージョン対応登録してから、履歴管理を再び有効化する必要があります。
- 履歴管理を有効化できるのは、自分が所有者であるデータセットまたはクラスだけです。
- 履歴管理を有効化しても、リレーションシップ クラスには適用されません。リレーションシップ クラスがフィーチャ データセット コンテナの外にある場合、そのクラスに対して履歴管理を明示的に有効化する必要があります。
- 元のクラスのインデックスは、履歴管理の有効化フェーズ中にアーカイブ クラスにも作成されます。
- 履歴管理が有効化された日時は、フィーチャクラスまたはテーブルのプロパティ ダイアログ ボックスを開くと表示されます。オブジェクトを右クリックして、[プロパティ] を選択します。[バージョニング] の [一般] タブには、オブジェクトの履歴管理が有効化されたときの説明があります。
- アーカイブ クラスのデフォルトの命名規則は、オブジェクト クラスの名前の後にアンダースコアと H が付きます。たとえば、Roads というオブジェクト クラスのアーカイブ クラスは Roads_H になります。
- アーカイブ クラスはジオデータベースによってフィルタリングされ、ArcCatalog では表示されません。そのため、カタログ ツリーにも表示されません。[ジオデータベースの履歴] ツールバーの [履歴アーカイブの追加] コマンドを使用すると、ArcMap に追加して表示および分析できます。
- アーカイブ クラスを操作するときのパフォーマンスを最適化するために、アーカイブ クラスに発生する変更ボリュームに応じて、データベースの統計情報を定期的に更新する必要があります。
- 開始および終了の日付属性の他に、アーカイブ テーブルの名前を指定できます。アーカイブ テーブルに独自の命名規則を適用したい開発者は、SDK(Software Developer Kit)にある IArchiveregistrationinfo インタフェースをご参照ください。
- 履歴管理を有効化している場合、元のソースのキーワードに接頭辞 _ARCHIVE を付けて検索されます。そのキーワードが存在しない場合、データ ソースのキーワードおよびパラメータの値が使用されます。
- バージョン非対応のデータセットに対して履歴管理を有効化する場合、ArcGIS は <データセット名>_evw というデータセットのビューを作成します。たとえば、streets というバージョン非対応のフィーチャクラスに対して履歴管理を有効化する場合、ArcGIS は streets_evw という、そのフィーチャクラスのビューを作成します。streets_evw というビューがすでに存在する場合、ArcGIS はそのビューを削除します。そのため、streets データセットに対して履歴管理を有効化する前に、既存のビューの名前を変更する必要があります。