Создание SQL-скрипта для создания базы данных и таблиц


У меня есть база данных SQL и таблицы, которые я хотел бы реплицировать в другом SQL Server. Я хотел бы создать SQL-скрипт, который создает базу данных и таблицы в одном скрипте.

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

спасибо.

5 85

5 ответов:

в среде SQL Server Management Studio можно щелкнуть правой кнопкой мыши базу данных, которую требуется реплицировать, и выбрать "Script Database as", чтобы средство создало соответствующий файл SQL для репликации этой базы данных на другом сервере. Вы можете повторить этот процесс для каждой таблицы, которую вы хотите создать, а затем объединить файлы в один файл SQL. Не забудьте добавить оператор using после создания базы данных, но до создания любой таблицы;)

обновление 2018-06-18 В последнее время версии SQL Server вы можете получить это в одном файле в SSMS.

  1. щелкните правой кнопкой мыши базу данных.
  2. задачи
  3. Сформировать Сценарии

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

Generate SQL Server Scripts

хотя ответ Клейтона приведет вас туда (в конечном итоге), в SQL2005 / 2008 / R2 / 2012 у вас есть гораздо более простой вариант:

щелкните правой кнопкой мыши на базе данных, выберите Tasks а то Generate Scripts, который запустит мастер сценариев. Это позволяет создать один скрипт, который может воссоздать полную базу данных, включая таблицу/индексы и ограничения/хранимые процедуры/функции/пользователи/и т. д. Существует множество параметров, которые можно настроить для настройки вывода, но большинство из них само собой разумеется.

Если вы довольны параметрами по умолчанию, вы можете сделать всю работу за считанные секунды.

Если вы хотите воссоздать данные в базе данных (в виде серии вставок) ,я бы также рекомендовал SSMS Tools Pack (бесплатно для версии SQL 2008, платно для версии SQL 2012).

отличное объяснение можно найти здесь: создать скрипт в среде SQL Server Management Studio

Любезно Али Иссавот что вам нужно сделать:

  1. щелкните правой кнопкой мыши базу данных (не таблицу) и выберите задачи --> создать скрипты
  2. Далее -- > выберите запрошенную таблицу/таблицы (из выберите конкретные объекты базы данных)
  3. далее -- > нажмите Дополнительно --> типы данных для сценария = схема и данные

Если вы хотите создать скрипт, который просто генерирует таблицы (без данных), вы можете пропустить расширенную часть инструкций!

Не уверен, почему SSMS не учитывает порядок выполнения, но это просто не так. это не проблема для небольших баз данных, но что делать, если ваша база данных имеет 200 объектов? В этом случае порядок выполнения имеет значение, потому что это не очень легко пройти через все это.

для неупорядоченных скриптов, генерируемых SSMS, вы можете пойти следующим

A) выполнить скрипт (некоторые объекты будут вставлены некоторые не будут некоторые ошибки)

b) удалить все объекты из скрипта, который был добавлен в базу данных

c) вернитесь к a) пока все не будет выполнено

альтернативным вариантом является использование инструментов сторонних производителей, таких как Скрипт ApexSQL или любые другие инструменты, уже упомянутые в этой теме (SSMS toolpack, Red Gate и другие).

все это будет заботиться о зависимостях для вас и сэкономить вам еще больше времени.

Да, вы можете добавить столько операторов SQL в один скрипт, сколько захотите. Только одна вещь, чтобы отметить: порядок имеет значение. Вы не можете вставить в таблицу, пока не создадите ее; вы не можете установить внешний ключ, пока не будет вставлен первичный ключ.