Эквивалент mysqldump для SQL Server

Есть ли эквивалентная схема экспорта и экспорта данных для SQL Server, как и для MySQL с mysqldump. Попытка переместить устаревший сайт ASP, и я вышел из счастливого места, работая на сервере Windows.

Примечание. Утилита экспорта DTS, похоже, экспортирует данные без табличных def. Использование Enterprise Manager и экспорт db приближается к экспорту схемы и данных... но все еще не хватает хранимых процедур.

В основном поиск одного делает все это решение, которое захватывает все, что мне нужно сразу.

Ответы

Ответ 1

Самый простой способ - это мастер публикации базы данных sql-сервера.

  • Открытый исходный код
  • Free
  • Что именно вы хотите
  • Разработано компанией Microsoft

В нем нет всех функций mysqldump, но он достаточно близко.

http://www.codeplex.com/sqlhost/wiki/view.aspx?title=database%20publishing%20wizard

Ответ 2

Сделать это очень легко с помощью SQL Server 2008 Management Studio:

1.) Щелкните правой кнопкой мыши на базе данных (а не на таблице) и выберите "Задачи → Сгенерировать скрипты"

location of tool

2.) Нажмите "Далее" на первой странице

3.) Если вы хотите скопировать всю базу данных, просто нажмите "Далее" . Если вы хотите скопировать определенные таблицы, нажмите "Выбрать конкретные объекты базы данных", выберите нужные таблицы и нажмите "Далее" .

4.) Необходимо выбрать "Сохранить в файл". ВАЖНО. Нажмите кнопку "Дополнительно" рядом с "Сохранить в файл", найдите "Типы данных в script" и измените "Только схема" на "Схема и данные" (если вы хотите создать таблица) или "Только данные" (если вы копируете данные в существующую таблицу).

adding data to the script

5.) Нажмите оставшуюся часть, и все готово! Он сохранит файл .sql.

Ответ 3

Самый простой способ перемещения базы данных - использовать SQL Server Management Studio для экспорта базы данных на другой сервер, или если это не сработает, сделайте резервную копию, как и другие, предложили и восстановили ее в другом месте.

Если вы ищете способ сбрасывать структуру таблицы в SQL, а также создавать сценарии вставки для данных, то хорошей бесплатной опцией будет использование amScript и amInsert из http://www.asql.biz/en/Download2005.aspx.

Если вам нужна хорошая платная версия, я бы посмотрел Red-Gate SQL Compare и Red-Gate SQL-Data Compare. Эти инструменты, вероятно, слишком сложны, и, вероятно, немного дороже, если вы не собираетесь использовать их много. Я бы подумал, что в основном это будет относиться к администраторам баз данных. Вы можете посмотреть инструменты Red-Gate на http://www.red-gate.com/.

Ответ 4

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

Ответ 6

Ну, Mysqldump - это серия операторов SQL. Вы можете сделать это с помощью DTS, но почему бы просто не создать резервную копию и не восстановить ее на новой машине?

Если вы хотите сделать это через SQL: http://msdn.microsoft.com/en-us/library/aa225964(SQL.80).aspx

Или просто щелкните правой кнопкой мыши DB и нажмите "Задачи" → "Резервное копирование" (http://msdn.microsoft.com/en-us/library/ms187510.aspx)

Ответ 7

проще всего было бы создать резервную копию и восстановить или отсоединить и прикрепить

или script вывести все таблицы и BCP из данных, затем BCP в данные на новом сервере

или использовать DTS/SSIS для этого

Ответ 8

SQL Enterprise Manager или студия управления SQL Server имеют подходы, основанные на мастере, и последние будут генерировать сценарии, чтобы вы могли видеть, как это делается.

Вы также можете использовать команды BACKUP и RESTORE. Подробнее здесь: http://msdn.microsoft.com/en-us/library/ms189826.aspx

Ответ 9

Если вы можете подключить DTS или Integration Services к обоим серверам, вы можете использовать мастера для копирования объектов с одного сервера на другой. "Копировать базу данных" требует, чтобы два сервера могли аутентифицироваться друг с другом, что обычно означает, что он находится в одном домене и что служба выполняется под доменом.

В противном случае вы можете создать script для схемы, и вы можете использовать пакет служб Integration Services/DTS для экспорта данных в файл, а затем импортировать их на другой.

Теперь мы обычно используем SQL Compare и SQL Data Compare. Red Gate SQL Packager также может быть вариантом.

Ответ 10

Две вещи, которые не делают резервное копирование/восстановление:

  • Выйдите из сервера Microsoft, который был частью первоначального вопроса.
  • Помогите быстро найти структурную разницу между двумя БД, которые должны имеют одну и ту же структуру, когда один из они работают медленно. Unix diff, или sdiff, игнорируя пробел, но нужен способ создания входных файлов.