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