Как я могу сохранить схему базы данных SQL в файл? - PullRequest
3 голосов
/ 15 мая 2010

Я пишу программное приложение на C # .Net, которое подключается к базе данных SQL Server. Мой проект C # находится под управлением версией SVN, но я хотел бы также включить мою схему базы данных в репозиторий SVN. Ответ на мой предыдущий вопрос предложил хранить сценарии для генерации базы данных в системе управления версиями. Есть ли способ автоматически генерировать эти скрипты из существующей базы данных?

Я очень новичок в SQL Server, но я заметил в Management Studio, что команды SQL для создания таблицы можно генерировать автоматически, щелкнув правой кнопкой мыши по таблице и щелкнув «Script Table As». Есть ли эквивалентная команда, которая будет работать со всей базой данных?

Ответы [ 5 ]

5 голосов
/ 15 мая 2010

Вы не упомянули, какая версия SQL Server, но в 2008 году (и, возможно, ранее) вы можете щелкнуть правой кнопкой мыши базу данных и выбрать «Задачи» -> «Создать сценарии».Мастер проведет вас по шагам.

1 голос
/ 12 июня 2019

Вы можете сделать это даже без агента SQL в SSMS.

Щелкните правой кнопкой мыши по БД, для которой вы хотите создать скрипт для экспорта схемы для> Задачи> Создать сценарии> «Дополнительные параметры» на 3-м экране> Внизу «Общий раздел» у вас есть «Типы данных для сценария» только с данными / Схема и данные / Только схема .

enter image description here

1 голос
/ 15 мая 2010

Мы используем сравнение Red-gate, которое позволяет сравнивать (в профессиональной версии) с папкой, которая находится под контролем исходного кода SVN. Упомянутый инструмент Apex, вероятно, имеет аналогичную особенность.

Лично я считаю генератор сценариев SSMS немного неуклюжим и предпочитаю платить за Red Gate

1 голос
/ 15 мая 2010

Вы можете использовать SQL-DMO или SQL SMO для сценариев или продукт, подобный APEXSQLScript (если у вас много зависимостей,Вы захотите использовать зрелый сторонний инструмент, подобный этому).

0 голосов
/ 15 мая 2010

У меня были проблемы с генерацией встроенного скрипта. В частности, попытка воссоздать базу данных из сгенерированного сценария не удалась из-за того, что объекты были записаны в неправильном порядке. (Все объекты были там, просто потребовалось некоторое переупорядочение.)

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

http://exportsqlscript.codeplex.com/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...