Проверка ссылочной целостности в режиме тестирования и исправления информационной базы

В общем случае структура информационной базы может быть довольно сложной и состоять из некоторого множества "локальных" информационных баз, как однородных (базирующихся на одной и той же структуре метаданных), так и неоднородных. Между такими информационными базами, как правило, существует обмен данными, реализованный с помощью какого-либо механизма, например, встроенного механизма планов обмена и XML-сериализации. При этом, в зависимости от реализации механизма обмена, "локальные" информационные базы могут содержать собственный набор объектов (элементов справочников, документов и т.д.) и обмениваться с другими только частью из них, причем объекты обмена могут содержать ссылки на объекты, не включенные в обмен данными.

В таких условиях в информационной базе могут существовать ссылки, которые могут быть разрешены в пределах всей, "глобальной" информационной базы, но являются неразрешимыми в пределах "локальной" базы. Проведение в таких условиях тестирования информационной базы с проверкой ссылочной целостности приведет к появлению сообщений об ошибках, а в случае тестирования с исправлением может привести к частичному разрушению (изменению содержания или полному удалению объектов ссылки) в рамках "глобальной" информационной базы.

Для разрешения этого конфликта из множества проверок логической целостности информационной базы выделено подмножество проверок ссылочной целостности. Эти проверки выявляют физическое отсутствие объекта ссылки в рамках "локальной" информационной базы. В информационных базах, хранящих неполный набор объектов, такую проверку, а, тем более, проверку с исправлением, в силу приведенных выше причин, проводить не следует. Как уже упомянуто, данная совокупность проверок является подмножеством, и включить ее независимо от проверки логической целостности невозможно. Следует отметить, что отключение проверки ссылочной целостности не выключает проверку типа ссылок.

Управление необходимостью проведения проверки ссылочной целостности производится установкой соответствующего флажка в диалоге "Тестирование и исправление" в режиме Конфигуратор. При вызове из командной строки для ключа /IBCheckAndRepair (тестирование и исправление) предусмотрены два параметра, управляющие проверкой логической целостности: