Ваша основная проблема заключается в том, что мастер сценариев SQL Server не имеет ни малейшего представления о том, в каком состоянии находится ваша база данных, к которому вы будете запускать сценарий.
Таким образом, он не знает, какие различия применить, например: когдаиспользовать alter table
или когда использовать create table
.
Да, скрипт может добавить предложение If Not Exist
, но он также не знает, что делать, когда ваша таблица существует, но нуждается в дополнительном 2колонны.Мастер сценариев SQL Server не выполняет сравнение с другой схемой, он просто создает сценарии существующей схемы как есть.
В зависимости от вашей версии SQL2008 может быть установлена версия BIDS вместе с SQL.В меню «Пуск» у вас должна быть папка «Microsoft SQL Server 2008», в которой есть ссылка на «Студия разработки бизнес-аналитики SQL Server» (BIDS).
Опять же, это будет зависеть от версииSQLServer2008.BIDS - это среда разработки Visual Studio.
Теперь, если она у вас есть, в зависимости от того, какая у вас версия BIDS (я думаю, что minnimum для инструмента сравнения схем - VS2008 SP1), вы можете создавать там проекты для сравнения 2схемы базы данных.Затем разницу можно записать в соответствующий скрипт.Я не знаю, как это сделать в VS2008, поскольку мы используем VS2010 с выпуском, который полностью реализован.Я посмотрел на VS2008, но не смог найти его в очевидном месте.Согласно Google, хотя в VS2008 SP1 есть инструмент сравнения схем.
Если ничего не помогает, вам придется искать бесплатный или платный инструмент сравнения схем, такой как SQL Compare 8.2 .
Идея та же, вы должны сравнить 2 схемы друг с другом, чтобы увидеть, что отличается.Затем решите, что вы хотите протолкнуть от постановки к Live, и составьте соответствующий сценарий.Инструменты просто выполняют большую часть ручной работы за вас.