Мне нравятся внешние ключи, но я сталкиваюсь с одной проблемой с ними.У меня есть программа преобразования, где я отключаю внешние ключи для таблиц.Причина, по которой я это делаю, заключается в том, что я могу преобразовать все записи в основной таблице, но оставить другие таблицы зависимыми от этой таблицы без изменений, не восстанавливая их каждый раз, потому что они ОГРОМНЫ.
I 'Используя эти команды для отключения и повторного включения внешних ключей:
ALTER TABLE MyTable NOCHECK CONSTRAINT MyConstraint
ALTER TABLE MyTable CHECK CONSTRAINT MyConstraint
Однако после повторного включения ограничения «Проверка существующих данных при создании или повторном включении» по-прежнему устанавливается на № IЯ понимаю, что для него установлено значение Нет, потому что я отключил ограничение, но, сделав это, он изменил мою схему базы данных, что мне не нравится.Я думал, что это будет рассматриваться как повторное включение ограничения и будет проверять существующие данные, но, очевидно, нет.
Нет ли способа изменить это с помощью команды ALTER TABLE?Я знаю, что могу, если я откажусь от ограничения и создам его заново, но я не собираюсь писать сценарий для воссоздания каждого имеющегося у меня внешнего ключа и его сохранения.
Я использую SQL Server 2008 R2.