存档历史记录

ArcGIS Pro 中存档数据将保留对企业级地理数据库中全部或部分数据进行的要素级别更改的记录。地理数据库存档是一种捕获、管理和分析数据更改以供历史参考的机制。

可以出于多种原因启用存档,其中包括回答有关过去事件的问题以及追踪随时间发生的变化,例如以下原因:

  • 保留随时间进行的编辑内容,以支持对时间敏感的历史更改查询。
    • 示例:诸如排污管网等要素如何随时间而更改形状以适应城市的持续发展?
  • 出于法律原因,必须保留编辑内容的历史记录的合规目的。
    • 示例:附近宗地的分区何时从农业变为商业?
  • 支持基于服务的离线编辑工作流。

确定是否启用存档

要确定是否通过访问数据集属性在数据集上启用了存档,请按照以下步骤进行操作:

  1. 启动 ArcGIS Pro
  2. 目录窗格的数据库文件夹中,单击地理数据库连接以展开其内容。
  3. 右键单击要素类或表,然后选择属性

    如果启用了存档,则选项卡上的存档属性将以协调世界时间 (UTC) 格式反映启用了存档的日期和时间,并填充存档名称属性。

    启用了存档的要素类的要素类属性

    注:

    如果未启用存档,则可以通过右键单击目录窗格中的数据集,然后单击启用存档对版本化或非版本化数据启用存档。

存档编辑内容

在启用非版本化数据的存档时,地理数据库会直接在基表中为该数据集创建 3 个属性字段。

注:
基表是要素类的核心表。它包含所有非空间属性,如果使用 SQL 几何类型,则它还包含空间属性。通过数据库管理系统的用户界面查看要素类时,您可看到基表。

基表中的这些新属性字段如下所示:

  • GDB_FROM_DATE - 创建要素的准确日期和时间。
  • GDB_TO_DATE - 停用要素的准确日期和时间。当此 GDB_TO_DATE 字段中的属性设置为 9999-12-31 值时,其为对象的当前表示。
  • GDB_ARCHIVE_OID - 用于追踪存档记录的多种表示的全局标识符。

ArcGIS Pro编辑非版本化数据时,所有编辑事务(插入、更新或删除)将自动提交至地理数据库,无需保存编辑内容。提交对数据集进行的编辑内容后,地理数据库将自动更新这三个属性字段,以保留随时间更改的历史记录。

以下是启用存档后,如何在基表中处理编辑修改的示例:

  • 插入 - 在 ArcGIS Pro 中,新特性将添加到 Park_Amenities 要素类。GDB_FROM_DATE 字段将记录创建了要素的日期和时间 (UTC)。GDB_TO_DATE 字段将记录 9999-12-31 23:59:59.0000,即对象的当前表示。
    添加新的存档要素
  • 更新 - 在 ArcGIS Pro 中,将在属性编辑器中对 AmenityType 字段进行更新,其中的值从 NULL 更改为 Restroom。此更新将对基表进行以下更改:
    • 插入具有相同 OBJECTID 1 的新行,GDB_FROM_DATE 字段将记录与存档操作相同的时间戳,GDB_TO_DATE 字段将记录 12/31/9999,AmenityType 字段将记录从 NULL 到 Restroom 的更新。
      更新存档的要素。
  • 删除 - 在 ArcGIS Pro 中,选择并删除了 Restroom 便利设施要素。在编辑会话中删除要素后,其记录将保留在基表中,将在基表中更新相关行,并且 GDB_TO_DATE 属性值将设置为等于停用该要素的存档操作的时间戳。
    删除存档的要素

管理存档历史记录

地理数据库存档用于保存已启用类的编辑事务。对于非版本化存档,存档记录将与所有当前记录存储在相同的表中。随着时间的推移,尤其是在进行大量编辑的环境中,由于所有编辑修改的历史记录累积,因此非版本化的存档数据集会不断增大。

您可能会决定应移除部分或全部历史记录,因为不再需要这些记录或这些记录相关。或者,您可能会决定修剪历史记录以改善数据库管理任务,例如:

  • 数据事务处理
  • 文件系统存储
  • 表和索引管理
  • 备份和还原程序

一种移除历史记录的方法是禁用存档;但是,无法选择将部分历史记录保留在基表中。禁用存档并不总是一种非常有用的解决方案,因为需要使用存档来支持基于服务的离线编辑工作流。此外,禁用存档适用于单个事务,对于非常大的表,必须适当调整数据库事务日志的大小并对其进行监控,以避免出现错误。

另一种方法是使用修剪存档历史记录地理处理工具。借助此工具,您可以从非版本化的存档数据集中删除停用的行,无需禁用存档和中断同步工作流。

有关如何使用此工具的详细信息,请参阅修剪存档历史记录