Документация iSZN
В базе данных Системы имеются записи, не позволяющие включить ограничения целостности
Проблема
- Не удаётся включить ограничения целостности из-за наличия в базе данных Системы записей, нарушающих ограничения целостности.
Решение
- Запустить задачу SQL Worksheet.
- Выполнить команду «Ограничения целостности...» одним из следующих способов:
- Выбрать пункт главного меню «Сервис | Ограничения целостности...».
- Нажать клавиши Ctrl+L.
- В открывшемся диалоге ограничений целостности:
- В выпадающем списке «Состояние» выбрать пункт «Только отключённые».
- В выпадающем списке «Таблица» выбрать пункт «Все».
- Установить флажок «Включить имя таблицы» для того, чтобы имя таблицы отображалось в списке «Ограничение целостности».
- Включить все отключённые ограничения целостности следующим образом:
- В выпадающем списке «Ограничение целостности» выбрать одно из ограничений целостности.
- Нажать на кнопку «Включить».
- На запрос подтверждения на протоколирование включения ограничения целостности выбрать вариант «Да».
- При успешном включении ограничения целостности его статус меняется с Disabled на Enabled и становится доступной кнопка «Отключить».
- В случае если не удалось включить ограничение целостности, отображается диалог информации об ошибке с сообщением о помещении запроса на выборку сбойных строк в новое окно SQL-редактора.
- Нажать на кнопку «Закрыть» для закрытия диалога информации об ошибке.
- Нажать на кнопку «Закрыть» для закрытия диалога ограничений целостности.
- Выполнить автоматически созданный запрос на выборку сбойных записей нажатием на клавишу F9 (окно с данным запросом является текущим).
- Преобразовать автоматически созданный запрос на выборку сбойных записей в запрос на удаление записей. Для этого нужно заменить выражение
select * from ...
на
delete from ...
- Внимание: удаление записей может нарушить нормальное функционирование Системы. В случае сомнений нужно проконсультироваться с разработчиками Системы.
- Выполнить отредактированную команду удаления сбойных записей нажатием на клавишу F9.
- Повторить процесс включения ограничения целостности описанным выше способом.