Я столкнулся с очень странной проблемой при использовании параметра «Таблица сценариев как CREATE To» при использовании SQL Server 2008 R2 SSMS.
В моей исходной базе данных Northwind у меня есть следующее проверочное ограничение:
ALTER TABLE [dbo].[Employees] WITH NOCHECK
ADD CONSTRAINT [CK_Birthdate]
CHECK (([BirthDate] < getdate()))
GO
Теперь, когда я запускаю это для базы данных Northwind_Test, я получаю это:
ALTER TABLE [dbo].[Employees]
WITH NOCHECK
ADD CONSTRAINT [CK_Birthdate]
CHECK (([BirthDate]<getdate()))
GO
Разница в том, что интервал был удален из текста CHECK.
Мне нужно, чтобы интервал оставался неизменным при запуске скриптов из SSMS. Можно ли использовать оператор SET, чтобы сохранить этот интервал и любое другое форматирование? Причина этого в том, что я пишу утилиту сравнения баз данных, и мне нужно, чтобы форматирование оставалось неизменным, иначе утилита будет повторять, что схема базы данных отличается.