Документация iSZN

В базе данных Системы имеются записи, не позволяющие включить ограничения целостности

Проблема

  • Не удаётся включить ограничения целостности из-за наличия в базе данных Системы записей, нарушающих ограничения целостности.

Решение

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

        на

        delete from ...
      • Внимание: удаление записей может нарушить нормальное функционирование Системы. В случае сомнений нужно проконсультироваться с разработчиками Системы.
      • Выполнить отредактированную команду удаления сбойных записей нажатием на клавишу F9.
      • Повторить процесс включения ограничения целостности описанным выше способом.

См. также