您可以在企业地理数据库中的传统版本化数据集和企业级或移动地理数据库中的非版本化数据集上启用存档,以追踪历史数据。
对于分支版本化,已在将数据集注册为分支版本的过程中自动启用了使用存档追踪历史编辑内容的功能。 了解有关将数据集注册为分支版本的要求和过程。
要对传统版本化或非版本化数据启用存档,请完成以下步骤:
- 以数据集所有者身份将您的企业级地理数据库连接到目录窗格 的数据库文件夹 。
- 右键单击数据集并单击管理。
随即显示属性对话框并激活管理选项卡。
- 选中存档。
- 单击确定以应用更改。
要一次对多个数据集启用存档,可以使用启用存档地理处理工具。
地理数据库以不同方式管理数据集存档,具体取决于数据集是否已版本化。
对版本化数据启用存档
启用版本化数据存档类似于将数据集注册为版本。 对于每个启用了存档的数据集,都会创建一个新存档类。 启用存档时,数据集或对象类的默认版本中的所有属性和所有行都会被复制到存档类中。 完成存档类创建所需的时间取决于启用存档的数据集的大小。 存档类与原始数据集具有相同的方案,但还包括三个额外的属性,即用于记录存档行的有效使用期限时间戳的附加日期属性 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 数据集启用存档之前应重命名现有视图。
- 在多面体上使用非版本化存档时,存档类和保留的存档表(在禁用存档之后创建)的几何类型将降级为多边形。