2009-08-24 3 views
3

Мне было интересно, есть ли способ автоматически добавить в файл сценария все изменения, которые я внес в мои столбцы, таблицы, отношения и т. Д.Создание сценария CHANGE в Studio Management Studio?

Дело в том, что я делаю много разных изменений на TEST db, и идея будет заключаться в применении этого сценария изменений, когда я перехожу к тестированию db к производству ... следовательно, сохраняя производственные данные, но применяя все изменения схемы и объекта.

Есть ли простой способ сделать это? Можно ли также перенести изменения диаграммы базы данных?

Я видел, как вы можете создавать сценарий изменений каждый раз, когда я делаю изменения, но это означает, что я должен скопировать и вставить в главный файл. На самом деле довольно легко!

Мне просто интересно, не хватает ли я чего-то?

ответ

6

Не изменяйте тестовый сервер с помощью пользовательского интерфейса. Записывайте скрипты и держите их под контролем источника. Вы можете протестировать свои сценарии, начиная с резервных копий данных в реальном времени, и вы можете настроить сценарии yoru, пока они не достигнут желаемого результата. Затем вы можете проверить скрипты для справки, а затем применить их на реальном сервере. См. Эту статью Version Control and Your Database.

BTW, проверьте SSMS toolpack, я думаю, что он может делать то, что вы хотите (я не уверен). Мой совет стоит: версия вашей схемы, использование явно созданных/сохраненных скриптов, использование источника управления.

+0

Спасибо, я, наконец, пошел с выпуском базы данных VS 2008 –

0

Невозможно напрямую сгенерировать сценарий «дельта» в SSMS.

Однако, если каждый раз, когда вы публикуете изменения, вы создаете всю базу данных, включая данные, для SQL с помощью SQL Server Database Publishing Wizard, вы должны иметь возможность извлекать различия между версиями и получать свои дельта именно таким образом.

Если деньги не являются объектами, вы можете приобрести версию Visual Studio Team System Database Architect и использовать свои фантастические инструменты сравнения баз данных для генерации и контроля версий именно тех различий, которые вы хотите.

0

У нас есть процесс, в котором, когда разработчик получает сделано с изменением, они затем сценарий его и проверьте это в Subversion. В Subversion у нас есть папка для Tables, Stored Procs, Data и т. Д. Они сценарируют ее, поэтому она повторяется (т. Е. Не вставляйте новые данные, если она уже существует). Это важно сделать так или иначе, чтобы вы сохраняли история изменений для данного объекта в базе данных.

В прошлом мы просто вводили каждый из файлов, которые мы хотели записать в текстовый файл (т. Е. FileListV102.txt). Когда мы были готовы сделать релиз, мы бы сделали «получить последние» во всех файлах (из VSS тогда). Затем у нас была простая утилита, которая читала бы «файл списка файлов» и открывала каждый из этих файлов по очереди объединяя их в выходной файл. Это довольно легко кодировать.

Мы переиграли это, и теперь у нас есть инструменты управления выпуском (которые можно найти here и будут продаваться в середине сентября), который берет все файлы и создает из него большой файл сценария SQL. Он делает это в том порядке, в котором вы ожидаете, основываясь на именах папок - поэтому файлы, находящиеся в папке «Таблицы», выполняются до тех, что находятся в папке «Данные» и т. Д.

В любом случае, как только вы закончите, у вас есть большой файл сценария SQL, который затем можно применить к новой копии производства, и это то, что вы тестируете.

0

Я знаю, что я опоздал на вечеринку, но я просто хотел добавить, что есть десятки сторонних продуктов. Некоторые из них очень хорошие, некоторые очень дешевые или бесплатные, а некоторые - смесь. Я перечислил 22 здесь:

http://bertrandaaron.wordpress.com/2012/04/20/re-blog-the-cost-of-reinventing-the-wheel/

0

Мы использовали относительно новое программное обеспечение под названием Kal Admin. Он имеет функцию управления изменениями и позволяет легко распределять выбранные изменения в другие базы данных. Мы использовали это, сравнивая две базы данных, но это не удовлетворяет нашей потребности в отслеживании изменений.

BTW Kal Admin имеет возможности метаданных и сравнения данных.