Я публиковал свое решение dacpac в базе данных. После публикации я вижу, что ограничения, которые были удалены и заново созданы в процессе публикации, созданы как ограничения CHECK.
При поиске в Google по поводу проблемы я обнаружил, что существует свойство с именем « Проверка скрипта для новых ограничений », которое отвечает за включение всех новых ограничений в CHECK. Поэтому я попытался установить для этого свойства значение false и опубликовал снова. Теперь проблема в том, что все ограничения созданы как NOCHECK.
Любая помощь о том, как я могу сохранить состояние CHECK или NOCHECK этих ограничений.?
Кроме того, почему решение Visual Studio DACPAC создает все ограничения как NOCHECK и в конце устанавливает для них значение CHECK .?
Определение ограничения в базе данных перед публикацией
ALTER TABLE [dbo].[table_name] WITH NOCHECK ADD CONSTRAINT [ck_table_name_ssn] CHECK (([ssn] is null or [ssn] like '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'))
GO
ALTER TABLE [dbo].[table_name] CHECK CONSTRAINT [ck_table_name_ssn]
GO
Определение ограничения в базе данных после публикации
ALTER TABLE [dbo].[table_name] WITH CHECK ADD CONSTRAINT [ck_table_name_ssn] CHECK (([ssn] is null or [ssn] like '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'))
GO
ALTER TABLE [dbo].[table_name] CHECK CONSTRAINT [ck_table_name_ssn]
GO