Archives in a geodatabase in SQL Server

You can track transactional-time history for your data using geodatabase archiving. Transaction time represents the moment in time when an event is represented in the database. It is delimited when the feature is inserted in the database, then modified or logically deleted. Tracking a dataset's history allows you to keep a record of when and how the data has changed. It also allows you to query previous versions of the data.

Archiving tables in ArcDesktop

To use geodatabase archiving, register the data as fully versioned, then enable it for archiving in the Catalog window. (For details on how to perform this operation, see Geodatabase archiving and its related topics.) You can tell if a dataset has already had archiving enabled if, when you right-click the dataset in the Catalog window and click Archiving, the context menu has Disable Archiving enabled but Enable Archiving is disabled.

Archive classes cannot be viewed in the Catalog window, but you can save a connection to a specific historical version through the Spatial Database Connection Properties dialog box. To help you view the changes made at specific times, you can create historical markers that can be used by others to view the state of the data at that specific time. For details on creating historical markers, see Working with historical markers.

Archiving tables in a SQL Server DBMS

When a table is enabled for archiving, an archive class is created. This is a copy of the business table and contains all the same fields plus three new fields, GDB_FROM_DATE, GDB_TO_DATE and GDB_ARCHIVE_OID. For a description of how these fields are populated, see The archive process.

The name of the archive class table is the same as the original business table name with an underscore and H appended to it. For example, if a feature class named trails is enabled for archiving, an archive class, trails_H, is created in the schema of the owner of the feature class. The archive class table is read only, stores changes saved or posted to the DEFAULT version of the geodatabase, and is not deleted if its corresponding dataset is unregistered as versioned or deleted. If an archived dataset is unversioned or deleted, the archive class is converted to a temporal table and can still be queried. See Working with the Geodatabase History Viewer for details on viewing different historical versions.

When changes are made to the schema of a dataset that is enabled for archiving—for example, if a field is added or deleted—these changes are automatically added to the corresponding archive class.

NoteNote:

Never directly alter the schema of an archive class.

Also, when a table is enabled for archiving, a record is added to the SDE_archives table. This record stores the registration IDs of the table that was enabled for archiving and its associated archive class table.

For more information on the SDE_archives table, see System tables of a geodatabase in SQL Server.

The following shows a business table—WELLS—enabled for archiving, its corresponding archive class table, and records in the SDE_archives table.

Business table enabled for archiving and its associated history and SDE_table_registry table

When you create historical markers to view the state of the data at a specific time, the GDB_ITEMS table is populated. This is linked to the gdb_itemtypes table to signify the item type is an historical marker. For details on creating historical markers, see Working with historical markers.

Archiving tables in an XML document

Archive classes are not exported to XML workspace documents.

Related Topics


11/18/2013