Эквивалент 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/.
Ответ 5
Еще проще использовать SMO API. Он позволяет делать точно так же, как mysqldump, и даже лучше. Вот пример кода:
http://samyem.blogspot.com/2010/01/automate-sql-dumps-for-sqlserver.html
Ответ 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, игнорируя пробел, но
нужен способ создания входных файлов.