Как сгенерировать скрипт БД по запросу. (НЕ GUI) - PullRequest
0 голосов
/ 16 мая 2019

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

Я использую SSMS v17.6, SQLServer2016 (SP2) в WindowsServer2012 R2 Standard.

В графическом интерфейсе БД щелкнуть правой кнопкой мыши => Задача => создать сценарии => выбрать объекты базы данных и установить некоторые параметры. Я хочу сгенерировать запросом.

1 Ответ

0 голосов
/ 16 мая 2019

Вы можете выполнить следующие шаги для автоматизации создания базы данных.

  1. Сначала экспортируйте базу данных как dapac, используя Приложение уровня экспорта данных

  2. Установите SQLPackage.exe в среде, в которой вы планируете выполнить развертывание. Вы можете скачать sqlpackage.exe путь загрузки . Он будет использоваться для автоматизации генерации скриптов из DACPAC.

  3. Получив DACPAC базы данных, вы можете опубликовать его в любой среде. Предостережение заключается в том, что Sqlpackage.exe генерирует инкрементный скрипт, сравнивая его с целевой базой данных. Если вы хотите завершить сценарий CREATE, то вы можете указать на любую пустую базу данных или системную базу данных, такую ​​как master, чтобы сгенерировать инкрементные сценарии CREATE (здесь это будет полный сценарий базы данных, поскольку цель - пустая база данных). Сгенерированный скрипт будет присутствовать в выходном пути (здесь это C: \ temp)

Примечание: мы устанавливаем параметр (DropObjectsNotInSource в false), чтобы избежать создания объектов перетаскивания целевой базы данных, которые отсутствует в источнике DACPAC.

"<Path>\SqlPackage.exe"
/Action:script
/SourceFile:“<Path>\Database.dacpac” 
/TargetDatabaseName:master
/TargetServerName:"localhost"
/OutputPath:C:\temp
/p:DropObjectsNotInSource:false

UPDATE

Я вижу, что теперь есть инструмент mssql-scripter (в настоящее время в режиме предварительного просмотра), который выполняет ту же операцию мастера создания сценариев в SQL Server Management Studio. Вы можете увидеть об инструменте здесь: https://github.com/Microsoft/mssql-scripter

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