Это потому, что ваши результаты разработки - это MDF базы данных, а не исходные тексты сценариев. битва уже проиграна. Помимо различий в начальной версии механизма развертывания, у вас будут другие проблемы, как только вы попытаетесь развернуть свое первое обновление приложения. Вы обнаружите, что пытаетесь применить дельту схемы в производство, а не простые подвиги. Вы, вероятно, в конечном итоге использовать такие инструменты, как SQL Compare или что-то подобное. И это даже сейчас, когда у вас есть 1 (один) разработчик и 1 (один) рабочий сервер. По мере того, как вы добавляете больше разработчиков или больше развертываний, все становится все хуже и хуже.
Но есть и лучшие способы.
Один из способов - использовать инструмент разработки на основе исходного кода, такой как Visual Studio Database Edition. Результатом проекта VSDB является .dbschema, который может быть развернут как разностная дельта в производство с использованием инструмента vsdbcmd .
Еще лучший способ - создать версию вашей схемы и развернуть все через сценарии обновления с v. N до v. N + 1. См. Контроль версий и ваша база данных .
Оба подхода обеспечивают, помимо управляемого пути развертывания, версию управления исходным кодом вашей схемы базы данных.
Это правда, что даже при использовании подхода, основанного на сценариях, вы можете в конечном итоге использовать в своем сценарии функции 2008 года и удивиться во время развертывания, такой инструмент, как VSDB, может фактически перехватить их во время сборки / компиляции. Даже если вы допустили ошибку, ее легко восстановить, изменив сценарии, вместо того, чтобы начинать с нуля в новой пустой базе данных надлежащей пониженной версии.