Преобразовать базу данных MySql в MS SQL Server 2005 с данными?

Я пытаюсь создать полностью новую базу данных из существующей базы данных MySQL, перенося как данные, так и схему, но пока единственный способ, которым я смог это сделать, - сначала импортировать базу данных MySQL в MS Access, а затем в SQL Server 2005? Безумно правда? Конечно, есть способ, который не требует утомительного, отнимающего много времени программирования, верно (возможно, с использованием SSIS)?

Несколько дополнений к моему исходному описанию выше:

  • Его база данных довольно хорошего размера (легко несколько гигов).
  • Я работаю в среде MS (asp.net, C #)
  • У меня очень сжатые сроки, поэтому я ищу автоматизированный процесс, который практически не требует усилий в процессе преобразования.
  • SSIS будет предпочтительным способом через BIDS (VS 2005)

Спасибо за отличный вклад!


person mkelley33    schedule 13.08.2009    source источник


Ответы (3)


Я считаю, что с помощью инструмента phpMyAdmin вы можете записать структуру и данные базы данных MySQL в sql-скрипт. Затем вы просто запускаете эти два сценария в своей базе данных SQL Server 2005, и в большинстве случаев она должна создавать базу данных и заполнять ее данными. Прошло пару лет с тех пор, как мне приходилось делать это самому, но насколько я помню, это был процесс, который я использовал для переноса базы данных MySQL на SQL Server в прошлом. Вам, вероятно, придется изменить сценарий структуры, чтобы изменить некоторые типы данных на их эквиваленты в SQL Server, но данные должны загружаться нормально после того, как вы отсортировали все типы данных.

person BBlake    schedule 13.08.2009
comment
Спасибо за предложение. У меня нет PHP, работающего на моей рабочей станции, и я немного испытываю нехватку времени (какой разработчик не смеется?) Кроме того, база данных довольно большая: около 1,5 гигабайт данных и 30+ таблиц с примерно 40 000 записи только в таблице членства. Хотя я ценю совет. Я уверен, что это пригодится в один из этих (менее беспокойных) дней. Я поставил +1 на ваше время и внимание;) - person mkelley33; 13.08.2009

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

person Dave Markle    schedule 13.08.2009
comment
Спасибо за еще одно отличное предложение! См. Мой комментарий к ответу BBlake выше. Мне обязательно нужно взглянуть на SQLYog. То же, что и BBlake: +1 к вашему комментарию за дополнительные знания. - person mkelley33; 13.08.2009
comment
Хех, он может сгенерировать БОЛЬШОЙ сценарий, если у вас столько данных. За это я бы определенно переключился на использование SSIS. - person Dave Markle; 13.08.2009

Полученные мной ответы были, безусловно, полезны, но решение, казалось бы, состоит в том, чтобы выполнить mysqldump, а затем запустить этот сценарий из SSIS, при необходимости массируя вывод; однако, AFAIK невозможно использовать VS 2005 BIDS для создания пакета SSIS, который полностью переносит базу данных MySQL в базу данных SQL Server 2005 (данные и схему) с использованием Windows Vista 64. Я сказал AFAIK, но кто знает, что в межсетях много раскрыть :)

person mkelley33    schedule 14.08.2009