ClearSCADA performs regular checks on the database to ensure that the integrity of the data is maintained. These checks occur one per hour while the server is running.

There are a number of tests that the server will perform as part of the integrity check and the list of tests to be run is configured via the registry.

The HKEY_LOCAL_MACHINE/Software/Serck Controls/ScxV6/DB/HourlyIntegrityCheckOptions (DWORD) setting allows an administrator to configure the default checks to perform. This setting has no effect on the integrity check done at database startup as all tests are run on database startup.

Test Name Value Description
ICO_Modules 0x001 Checks integrity of CDBModule classes. NOTE: If this fails, the server is put in config failed state.
ICO_ObjectMap 0x002 Checks invalid deleted objects, permits and class mismatches.
ICO_Indices 0x004 Checks indices maintained by each class.
ICO_Objects 0x008 Checks each allocated object and all permits for errors.
ICO_ObjectUpdateMap 0x010 Checks updates for valid source and target.
ICO_HistoricLoadedGranules 0x020 Checks historian and event journal.
ICO_AlarmSourceMap 0x040 Checks for valid objects and types.
ICO_ObjectIndices 0x080 Checks object specific lists and indices
ICO_Instances 0x100 Checks template Instances.
ICO_DataTables 0x200 Checks Data Tables
ICO_Metadata 0x0400 Checks Metadata
ICO_AlarmSuppression 0x0800 Checks Alarm Suppression
ICO_ReferenceFields 0x1000 Checks Reference Fields
ICO_SearchMaps 0x2000 Checks Object Search Maps
ICO_GeoSpatialIndex 0x4000 Checks GeoSpatial Index

On database startup, the default (read from the key "StartupIntegrityChecks") is ICO_Modules, ICO_ObjectMap, ICO_Indices, ICO_Objects, ICO_ObjectUpdateMap and ICO_GeoSpatialIndex.

The default background integrity check (read from the key "IntegrityCheckOptions") are all except ICO_HistoricLoadedGranules, ICO_Instances, ICO_DataTables and ICO_Metadata.

The default options which are ticked if you do a manual check by right clicking on your server icon are also all except ICO_HistoricLoadedGranules, ICO_Instances, ICO_DataTables and ICO_Metadata. These defaults are not controlled by registry entries.

A ClearSCADA server restart is needed for changes in the registry to take effect.