В обозревателе объектов в SQL Server при выборе и создании сценария ограничения внешнего ключа создается следующий код.
USE [MyTestDatabase]
GO
ALTER TABLE [dbo].[T2] WITH NOCHECK ADD CONSTRAINT [FK_T2_T1] FOREIGN KEY([T1ID])
REFERENCES [dbo].[T1] ([T1ID])
GO
ALTER TABLE [dbo].[T2] CHECK CONSTRAINT [FK_T2_T1]
GO
Какова цель последнего утверждения "ALTER TABLE CHECK CONSTRAINT"? Кажется, не имеет значения, запущен он или нет. Это не приводит к сбоям в существующих неверных данных и не меняет того, что ограничение будет применяться к новым данным.
Благодарность!