MySQL эквивалент для SQL Server - PullRequest
       29

MySQL эквивалент для SQL Server

17 голосов
/ 17 сентября 2008

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

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

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

Ответы [ 11 ]

17 голосов
/ 15 июля 2013

Чтобы сделать это действительно легко с SQL Server 2008 Management Studio:

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

location of tool

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

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

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

adding data to the script

5.) Пролистайте остальные и все готово! Он будет сохранен как файл .sql.

10 голосов
/ 17 сентября 2008

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

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

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

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

10 голосов
/ 17 сентября 2008

Самый простой способ перемещения базы данных - использовать 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 / .

6 голосов
/ 21 сентября 2011

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

2 голосов
/ 05 января 2010

Еще проще использовать SMO API. Это позволяет вам делать точно так же, как mysqldump, и даже лучше. Вот пример кода:

http://samyem.blogspot.com/2010/01/automate-sql-dumps-for-sqlserver.html

1 голос
/ 17 сентября 2008

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

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

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

0 голосов
/ 01 мая 2018

Если вам нужны эквивалентные операторы SQL, такие как CREATE TABLE ... & INSERT INTO ..., то я рекомендую вам попробовать HeidiSQL. Это фантастическая и бесплатная утилита, которая может получить доступ к Microsoft SQL Server, MySQL и PostgreSQL. Он позволяет вам просматривать и редактировать данные, создавать и редактировать таблицы, представления, процедуры, триггеры и запланированные события. Также вы можете экспортировать структуру и данные в файл SQL. http://www.heidisql.com

Перейдите в Инструменты / Экспорт базы данных в виде SQL и выберите схему. Установите флажок для создания таблиц и «Вставки» данных. Вот и все.

Я предпочитаю HeidiSQL "Microsoft SQL Server Management Studio" или phpMyAdmin ... и т. Д.

0 голосов
/ 05 августа 2010

Резервное копирование / восстановление не будут выполняться двумя способами:

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

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

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

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

0 голосов
/ 17 сентября 2008

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

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

...