2011-04-18 1 views
0

У меня такое чувство, что это проблема «только на моей машине». У меня есть две базы данных SQL 2008 R2 Express на моем ящике. Схема для каждого была создана с теми же сценариями. Данные различаются.Данные SQL Server Сравнение не сохраняется «ON DELETE SET NULL» Внешние отношения с ключом

Когда я использую встроенный инструмент сравнения данных Visual Studio 2010 или инструмент Data Data Compare v7 от Red Gate, я вижу следующее поведение.

  • Внешний ключ с ON DELETE SET NULL отбрасывается
  • данных вставляется
  • Внешний ключ воссоздан без опции ON DELETE SET NULL.

Рассмотрение SQL-скриптов, сгенерированных любым из инструментов, ясно показывает проблему. Насколько я могу судить, остальные мои FK хороши, многие из которых используют ON DELETE CASCADE.

Когда я прошу SSMS генерировать скрипт для самого FK, он включает спецификатор ON DELETE SET NULL, поэтому это не мое воображение.

Как два разных инструмента не смогли восстановить правильный SQL для этого ключа? Есть ли неправильная конфигурация SQL Server или ограничение на экспресс-издание?

ответ

0

Если вы отбрасываете FK, чтобы не беспокоиться о целостности данных во время загрузки, как об их отключении? Таким образом, определение остается в базе данных.

+0

Я посмотрю, есть ли настройка для этого эффекта. В этом случае я не пишу скрипты вручную. Собираюсь задать вопрос, чтобы понять, что мне нужно. – roufamatic

1

Я недавно нашел новый инструмент Optillect Data Compare SQL, который работает лучше других. Может быть, вам стоит попробовать.