Развертывание проекта базы данных Visual Studio 2010
У меня есть проект Visual Studio 2010 Database, из которого я хочу сгенерировать script
что просто переносит эту базу данных на другую машину. Проблема в том, что я не могу найти
решение для этого.
Когда я начал проект, я импортировал shema из базы данных на моем компьютере разработки.
Объекты схемы были сгенерированы и все таблицы и сценарии, где в разделе "Объекты схемы → Схемы → dbo". С течением времени некоторые вещи изменились, некоторые добавили. И используя щелчок правой кнопкой мыши → развертывание,
изменения были внесены в мою локальную базу данных успешно.
Но теперь я хочу развернуть на другую машину. Проблема в том, что в папке выпуска проекта есть только файл xml dbschema, содержащий все таблицы и сценарии, которые я не могу импортировать
с студией управления sql (или я просто не могу узнать, как это сделать) и развертыванием script, которое представляет собой не что иное, как некоторые проверки, за которыми следует предварительное и пост-развертывание script, но без каких-либо таблиц или скриптов в нем,
Итак, как мне экспортировать базу данных из Visual Studio, поэтому я могу легко разместить ее на другой машине?
Ответы
Ответ 1
Можно ли указать свою Visual Studio на новую целевую базу данных? 1. Свойства вашего проекта базы данных, вкладка "Развернуть", установите поля в "Параметры целевой базы данных".
Теперь, когда вы создаете развертывание script, результирующий файл SQL будет представлять собой различные CREATe/ALTER/DROP и т.д., которые выровнят целевую базу данных с вашей схемой.
Ответ 2
Marks -
Вероятно, вы уже решили это, но я подумал, что должен отвечать на ваши вопросы в интересах других.
Да, вы можете развернуть из Visual Studio на разные машины. Вы также можете сделать это из командной строки, используя VSDBCMD. И вы можете создать проект WIX, чтобы дать мастеру другим, чтобы установить его с помощью.
Если вы можете подключиться к целевой базе данных с вашего компьютера-разработчика, вы можете установить ее. Для этого:
- Выберите другую конфигурацию из раскрывающегося списка "Конфигурация решения". Как правило, проект будет поставляться с записями "Отладка" и "Выпуск". Вы можете добавить еще одну конфигурацию, позволяющую развертывать различные цели, нажав "Configuration Manager".
![Solution Configuration drop down]()
- Щелкните правой кнопкой мыши свой проект и выберите "Свойства" или просто дважды щелкните "Свойства" в проекте.
- Перейдите на вкладку "Развернуть". Обратите внимание, что раскрывающийся список Configuration: показывает ту же выбранную конфигурацию, что и "active".
- Измените действие Deploy на "Создать развертывание script (.sql) и разверните его в базу данных".
- Рядом с Target Connection String нажмите "Изменить" и используйте диалоговое окно для создания вашего соединения для развертывания с целевой базой данных.
- Заполните имя базы данных Target, если оно отличается.
- Для каждой конфигурации развертывания (например, отладки, выпуска и т.д.) вам, вероятно, понадобится отдельный файл конфигурации развертывания. Если вы нажмете "Создать", вы можете создать его для текущей конфигурации. Новый файл откроется, и вы можете проверить и снять отметку с важными сведениями о развертывании.
![The .sqldeployment file]()
- Примечание. Если вы проверите Всегда воссоздавать базу данных, script будет DROP и CREATE вашей базы данных. Вы потеряете все свои данные на цель! Будьте осторожны, что вы выбираете здесь. Большинство людей оставляют это без контроля для цели производства. Я проверяю его для разработки или локального, потому что я хочу, чтобы там была новая копия.
- Сохраните изменения в файле и в свойствах.
- Для развертывания на целевом компьютере обязательно выберите правильную конфигурацию. Нажмите "Построить/Развернуть [My Database Name]". Вероятно, вам следует поэкспериментировать с этим, чтобы вы знали, как это работает, прежде чем пытаться использовать его в живой среде.
- Хорошая практика: создайте аналогичную среду для производства ( "Staging" ) и сначала разверните ее, чтобы протестировать развертывание и всегда создавать резервные копии базы данных перед развертыванием, если что-то пойдет не так.
Для получения дополнительной информации см.:
Ответ 3
Вы всегда можете создать пустую базу данных, а затем сравнить схему в Visual Studio между проектом базы данных и новой пустой базой данных. Вы можете изменить сгенерированное обновление схемы script, чтобы также создать базу данных (поскольку script будет обновлять существующую пустую базу данных)