Вопрос: Дамп базы данных Microsoft SQL Server для сценария SQL


Есть ли способ экспортировать базу данных Microsoft SQL Server в sql-скрипт?

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

я видел http://vyaskn.tripod.com/code.htm#inserts, но я в идеале хочу, чтобы что-то воссоздало все (а не только данные), которые работают за один шаг, чтобы создать окончательный скрипт.


116
2017-08-25 01:47


Источник


@Matt Да, он не экспортирует данные. Вот почему я упомянул, что вы должны объединить его со сценарием, который вы предложили. Однако этот метод строит скрипт в правильном порядке. - Julio César
Фактически, в Mangement Studio 2008 вам просто нужно включить опцию «экспорт данных», а сценарий будет содержать как схемы, так и вставки. - user24161
Связанный: Как экспортировать данные в формате CSV из SQL Server с помощью sqlcmd? - kenorb


Ответы:


В SQL Server Management Studio щелкните правой кнопкой мыши вашу базу данных и выберите «Задачи / Сгенерировать сценарии». Следуйте указаниям мастера, и вы получите скрипт, который воссоздает структуру данных в правильном порядке в соответствии с внешними ключами. На шаге мастера под названием «Установить параметры сценариев» выберите «Дополнительно» и измените параметр «Типы данных в сценарий» на «Схема и данные»,

СОВЕТ. На последнем шаге выберите «Script to New Query Window», он будет работать намного быстрее.


101
2017-08-25 01:59



Просто не забудьте перейти к дополнительным опциям и рассказать об этом сценарию не только схемы, но и данных. - RomanSt
@romkyns заслуживает всех голосов! «Типы данных для скрипта» - это точное имя опции. Вам нужно выбрать «Схема и данные». - solidau
Основная проблема со сценариями, генерируемыми SSMS, заключается в том, что они не упорядочены правильно, чтобы учитывать зависимости. Это не проблема для небольших баз данных, где вы можете сделать это вручную, но это определенно проблема, когда база данных получает более 50 объектов. До сих пор мы успешно использовали Скрипт ApexSQL для этого. Это отличный инструмент, но вы можете использовать его в пробном режиме, чтобы выполнить работу. я думаю Красные ворота также имеет аналогичный инструмент. - David Smithers


Пытаться Мастер публикации базы данных сервера Sql, Возможно, вам придется переупорядочить сценарий, чтобы он запускался одним выстрелом, но из-за зависимостей, но он будет содержать вашу схему и данные.

Если у вас нет установленных объектов SQL XMO 2005 года, вы получите сообщение об ошибке при запуске Мастер, Вам понадобится коллекция объектов управления Microsoft SQL Server 2005


34
2017-08-25 01:57



На самом деле вам не нужно переупорядочивать сценарий, потому что он оставляет все ограничения, создает схему, вставляет данные и, наконец, воссоздает ограничения. - Daniel Silveira
Удивительно, это довольно аккуратно - Beep beep
Это отличный инструмент, хотя он поддерживает только SQL Server 2015. Как насчет 2008 года и позже? - Nam G VU


я нашел SQL Dumper Очень полезно. Это бесплатно, чтобы вы могли попробовать. Он позволяет выбирать таблицы и столбцы базы данных, представления и даже результаты пользовательских запросов в качестве операторов вставки SQL.


11
2018-02-10 16:40



Последняя стабильная версия не работает с хранимыми процедурами. - VMAtm
Последняя версия может быть загружена из download.cnet.com/SQL-Dumper/3000-10254_4-10514574.html - Raynet


Не найдя нужный инструмент, я решил создать свою собственную: утилиту командной строки sqlserverdump. Проверьте это на http://sqlserverdump.codeplex.com/, Он будет воссоздавать схему и данные за один шаг.


7
2017-09-22 06:50





Пытаться DBSourceTools, Он предназначен для создания исходной базы данных и повторного развертывания в целевой базе данных. Он создает схемы и данные.


6
2018-03-08 03:50





Рекомендуемое решение работает только на sql 2000 и 2005. Если вы хотите сделать это в SQL 2008,

Вы можете сделать это с помощью SQL 2008 без каких-либо других подключаемых модулей. Щелкните правой кнопкой мыши по базе данных и выберите «Задачи -> Сгенерировать скрипты ...». Выберите базу данных и резервные копии. Нажмите «Далее» и установите для параметра «Данные сценария» значение «Истина».

Дополнительная документация по ссылке:

http://blog.sqlauthority.com/2011/05/07/sql-server-2008-2008-r2-create-script-to-copy-database-schema-and-all-the-objects-data-schema- хранимая процедура-функция-триггера-таблица-видовые ограничения, и-все-другие-база-данные объекты /


5
2018-05-29 22:58



meta.stackexchange.com/questions/8231/... - jscott


Мастер создания базы данных SQL Server действительно действительно лучший способ сделать это. Проблема заключается в том, что она не работает в Windows 7. Мне пришлось использовать мой старый компьютер, чтобы использовать его. С положительной стороны, он работает со старыми версиями SQL Server, такими как 2000.

Для более новых версий SQL и операционных систем это программное обеспечение может быть интересно: http://sqlbackupandftp.com/


2
2018-04-27 19:32





Ombelt - отличный инструмент для экспорта баз данных MS SQL server. www.ombelt.com

так же, как и другие свалки БД.

Работает на меня.


0
2017-08-25 05:54





Проверьте проект дампа схемы Microsoft SQL Server (mssql-schema-dump инструмент в GitHub).

Применение: mssqldump -h data-source-host -u username -p password [-d path/for/files] [-c] [-s] [-a] [-b DB1[,DB2[,DB3]]]

Экспорт поддерживает:

  • DB: схема, типы пользователей, типы таблиц пользователей, триггеры, полнотекстовые каталоги, Полные текстовые стоп-листы, хранимые процедуры, функции
  • DB.Tables: схема, триггеры, индексы, DRI, статистика
  • DB.Views: схема, триггеры, индексы, DRI, статистика

0
2018-02-08 17:44