Enable archiving

You can enable archiving on versioned or non-versioned data by right-clicking the dataset in the Catalog pane and clicking Enable Archiving.

To enable archiving on multiple datasets at once, you can use the Enable archiving geoprocessing tool.

The geodatabase manages archiving on your dataset differently, depending on whether or not the dataset is versioned.

Enabling archiving on versioned data

Enabling archiving on versioned data is similar to registering a dataset as versioned. For each dataset for which archiving is enabled, a new archive class is created. When enabling archiving, all attributes and all rows in the default version of the dataset or object class are copied to the archive class. The time it takes to complete the creation of the archive class depends on the size of the dataset being enabled. The archive class has the same schema as the original dataset with additional date attributes gdb_from_date and gdb_to_date to record the timestamp for the effective lifespan of the archived row and a gdb_archive_oid attribute to uniquely identify each row.

Archiving table

Representing the archive class as an independent feature class, as opposed to managing the historical rows in the delta table for the versioned table, means that the existence and size of the archive does not impact the efficiency of the database. Datasets can be unregistered as versioned without affecting or deleting the archive class. If a dataset is unregistered as versioned, the archive class becomes an object or feature class.

Once the dataset has had archiving enabled, all changes saved or posted to the default version are additionally preserved in the archive class. You do not have the ability to append historical data to the archive class. Manually changing the archive class can lead to corruption of your geodatabase archiving process.

Enabling archiving on non-versioned data

When you enable archiving on non-versioned data, the geodatabase creates additional date attributes in the base table for that dataset. These date attributes are columns in the base table named gdb_from_date and gdb_to_date, which are used to record the timestamp for the effective lifespan of the archived row. As edits are made to the dataset, these attributes are updated to maintain an historical record over time.

Note:

Non-versioned archiving is supported on tables and sql spatial types such as SQL Server Geometry, ST_GEOMETRY, and SDO_geometry but not on older geometry types such as SDEBINARY and SDELOB.

Tips on enabling archiving

  • If a versioned dataset is registered with moving edits to base, archiving cannot be enabled. It must be unregistered and registered as versioned without the option to move edits to base.
  • You cannot enable versioning on a dataset that already has archiving enabled on it. You must disable archiving, register the dataset as versioned, and re-enable archiving.
  • You can only enable archiving on datasets or classes you own.
  • Enabling archiving traverses relationship classes.
  • Indexes on the origin class will also be created on the archive class during the enable archive phase.
  • You can view the time and date when archiving was enabled by opening the properties dialog box of a feature class or table. Right-click the object and choose properties. On the Source tab, under Data Source, there is an Archiving property that has a description of when the object was enabled for archiving.
  • The default naming convention for the archive class is the name of the object class followed by an underscore and an H. For example, for an object class named Roads, the related archive class will be Roads_H.
  • For optimal performance when working with the archive class, database statistics should be updated periodically based on the volume of change occurring to the archive class.
  • When enabling archiving, the origin source's keyword with the prefix _ARCHIVE is searched. If such a keyword is not present, the keyword and parameter values of the data source are used.
  • When you enable archiving on a nonversioned dataset, ArcGIS creates a view on the dataset that has the name <dataset name>_evw. For example, if you enable archiving on a nonversioned feature class named streets, ArcGIS creates a view on that feature class named streets_evw. If you already have a view named streets_evw, ArcGIS will drop that view. Therefore, you should rename your existing view before you enable archiving on the streets dataset.