Я пытаюсь синхронизировать схемы между различными базами данных. По сути, я выполнил задачи-> Создать сценарии с помощью SQL Server Management Studio (2005) для обеих баз данных и сравнил вывод с помощью инструмента сравнения.
По какой-то причине один сценарий добавляет ограничение WITH CHECK и один WITH NO CHECK , после чего оба ограничения повторно включаются.
Я за первую базу данных получаю:
ALTER TABLE [dbo].[Profile] WITH CHECK ADD CONSTRAINT [FK_Profile_OrganizationID] FOREIGN KEY([OrganizationID])
REFERENCES [dbo].[Organization] ([OrganizationID])
GO
ALTER TABLE [dbo].[Profile] CHECK CONSTRAINT [FK_Profile_OrganizationID]
GO
Вторая база данных генерируется как
ALTER TABLE [dbo].[Profile] WITH NOCHECK ADD CONSTRAINT [FK_Profile_OrganizationID] FOREIGN KEY([OrganizationID])
REFERENCES [dbo].[Organization] ([OrganizationID])
GO
ALTER TABLE [dbo].[Profile] CHECK CONSTRAINT [FK_Profile_OrganizationID]
GO
Итак, у меня два вопроса:
Является ли конечный результат одинаковым?
( Edit:
Кажется, что многие люди обращают внимание только на первое утверждение двух сценариев. Меня интересует конечный результат полноты обоих сценариев.)
Если конечный результат один и тот же, почему Management Studio генерирует их по-разному для разных баз данных?