Миграция с MySQL на SQL Server - PullRequest
6 голосов
/ 18 июля 2011

У меня есть база данных mysql, полная данных, которые мне нужно сохранить, но перенести на SQL Server 2008.

Я знаю, от начала до конца, куда должны идти данные, от таблицы к таблице, но я не знаю, как поступить с перемещением данных. Я просмотрел сеть, но кажется, что есть «решения», которые вы должны загрузить и запустить. Я предпочел бы, если возможно, сделать что-то сам с точки зрения написания скриптов или кода.

Кто-нибудь может порекомендовать лучший способ сделать это, пожалуйста?

Ответы [ 5 ]

6 голосов
/ 18 июля 2011

У вас есть несколько вариантов:

  • На стороне сервера sql вы можете установить соединение со своей старой базой данных mysql, используя так называемый связанный сервер .Это позволит вам написать SQL-код для SQL-сервера, который возвращает данные из таблиц MySQL.Вы можете использовать это для построения операторов INSERT или SELECT INTO.
  • Вы можете написать запросы для mysql для экспорта ваших данных в формате csv, а затем использовать функции BULK INSERT сервера sql для эффективного импорта данных в формате csv.
  • Вы можете использовать службы интеграции Sql Server, чтобы настроить перенос данных из mysql.

Независимо от того, что вы выберете, артефакты, не связанные с данными, такие как индексы, внешние ключи, триггеры, хранимые процедуры и безопасность, придется перемещать вручную.

0 голосов
/ 19 марта 2014

Вы можете использовать мастер импорта / экспорта, который поставляется с SQL Server Standard Edition.

Выберите ваш «источник данных» из MySQL, используя источник данных ODBC.Примечание. Сначала необходимо установить драйвер ODBC для MySQL ( ODBC Connector ).Затем выберите пункт назначения SQL Server.Выберите все столы и запустите их.Вам нужно будет добавить свой первичный и внешний ключи, а также индексы вручную.

Немного более автоматизированные средства будут с использованием Помощник по миграции SQL Server для MySQL , также бесплатный.Преимущество состоит в том, что вы автоматически воссоздаете отношения и индексы.Вероятно, ваша лучшая ставка.

0 голосов
/ 09 октября 2012

Попробуйте этот учебник, это очень легко выполнить миграцию на SQL Server из Mysql и просто, как уже упоминалось

http://www.codeproject.com/Articles/29106/Migrate-MySQL-to-Microsoft-SQL-Server

Спасибо

0 голосов
/ 19 июля 2011

Вы пробовали инструмент от MSFT, называемый SQL Server Migration Assistance для MySQL ???https://www.microsoft.com/download/en/details.aspx?id=1495

0 голосов
/ 19 июля 2011

Я сделал это однажды, некоторое время назад.Сначала вы можете подключить ваш сервер mssql к серверу mysql, используя соединитель odbc mysql

http://dev.mysql.com/downloads/connector/

После того как соединение установлено, вы можете написать процедуру базы данных какбыл бы, если бы это были два mssql db.Вероятно, проще всего написать некоторые пакетные сценарии sql, включая курсор, в котором вы будете проходить через каждую строку таблицы, и принять решение на основе полей, где вам понадобится поле в будущем.

пример курсора: http://www.mssqltips.com/tip.asp?tip=1599

Если вы решите использовать курсор, вы можете поиграть с параметром, чтобы увеличить производительность.Я особенно помню параметр FORWARD_ONLY, дающий большой импульс.

...