По какой-то причине при использовании SSDT для сравнения или изменения внешнего ключа таблицы программное обеспечение ничего не делает для изменения ограничения NOCHECK, установленного для внешнего ключа.
Это сценарий установки для внешнего ключа таблицы:
ТАБЛИЦА:
ALTER TABLE [dbo].[SurveyQuestion] WITH NOCHECK ADD CONSTRAINT [FK_SurveyQuestion_Language] FOREIGN KEY([LanguageID])
REFERENCES [dbo].[Language] ([ID])
GO
ALTER TABLE [dbo].[SurveyQuestion] CHECK CONSTRAINT [FK_SurveyQuestion_Language]
DBSchema:
CONSTRAINT [FK_SurveyQuestion_Language] FOREIGN KEY ([LanguageID]) REFERENCES [dbo].[Language] ([ID])
Итак, это разные настройки, но SSDT просто полностью их игнорирует. Сравнения возвращаются, показывая, что оба идентичны.
В моем профиле публикации я не проверял "игнорировать с помощью nocheck при проверке ограничений"
Я также не проверял "игнорировать withnocheck на внешние ключи". Таким образом, они оба должны быть оценены.
Может кто-нибудь попробовать это в своей таблице? Просто измените ваш CHECK на NOCHECK в вашей базе данных и запустите SSDT, чтобы увидеть, исправит ли SSDT несоответствие.
Я пытался и пытался, и SSDT продолжает обходить несоответствие.
Спасибо