Скрипт базы данных sql server 2008

У меня есть база данных на сервере hosetd sql 2008.

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

Есть ли скрипт, который я могу запустить, который будет создавать резервные копии данных в моих таблицах, предпочтительно также есть способ сохранить Shema тоже.

Затем я хочу иметь возможность загрузить изменения схемы из dev и восстановить все данные из моей резервной копии.

Я ищу бесплатный способ сделать это, поэтому я не могу купить какие-либо инструменты.

4 ответа

Ребята, SQL Server 2008 Management Studio действительно позволяет вам писать сценарии схемы и данных - это новая функция, которая была добавлена, но о которой мало кто знает.

В мастере сценариев в разделе "Параметры таблицы" установите для параметра "Данные сценария" значение "Истина" (по умолчанию это значение "Ложь"), и он будет генерировать операторы INSERT T-SQL со всеми данными, а также схему таблицы.

Это также обсуждалось ранее на SF в этом вопросе, и я только что написал об этом со снимком экрана - см. Схема сценариев и данные с SSMS в SQL 2008.

Надеюсь это поможет!

Рассматривали ли вы внедрение этих изменений в среде 'staging' или 'qa' рядом с вашей средой 'dev'?

Сделайте резервную копию вашей производственной базы данных. Восстановите его в новую базу данных в той же среде, где вы используете dev. Это даст вам возможность запустить эти сценарии обновления в зеркале живых данных. Тогда вы узнаете, насколько успешны ваши сценарии изменений.

Предполагая, что у вас есть права владельца базы данных, вы можете щелкнуть правой кнопкой мыши на имени базы данных и выбрать "Создать сценарии", чтобы создать сценарий. Это запустит мастер, который позволит вам выбрать, какие объекты вы хотите создать для сценария, и выгрузить этот сценарий в файл, окно запроса или буфер обмена.

В Management Studio нет автоматизированного способа выгрузки всех данных, но вам не нужно восстанавливать данные только для внесения изменений в схему - изменение определения таблицы обычно не приводит к удалению или изменению данных и других объектов. непосредственно коснитесь данных. Я бы просто использовал стандартную команду резервного копирования в Management Studio, чтобы сделать резервную копию, прежде чем вносить изменения в свой рабочий сервер.

"Генерировать сценарии" - это хорошо, но если вы хотите иметь возможность "различать" две версии схемы, я бы порекомендовал ScriptDB ( http://www.codeplex.com/ScriptDB). Он выводит практически тот же сценарий, что и "Генерировать сценарии" (он использует объекты управления SQL Server точно так же, как студия управления), но помещает выходные данные в каталоги с файлами в них, так же, как представление в студии управления. Это очень удобно для запуска различий между версиями схемы. Я обнаружил, пытаясь проанализировать вывод "Generate Scripts", что иногда большие блоки кода перемещаются между версиями, но в остальном не имеют никаких изменений (особенно когда это происходит из двух разных баз данных, в которых работали независимые разработчики).

Другие вопросы по тегам