Руководство по миграции. Перенос баз данных MySQL в SQL Server

Применимо к:SQL Server

Из этого руководства вы узнаете, как перенести базы данных MySQL в SQL Server.

Другие рекомендации по миграции см. в руководствах по переносу баз данных в Azure.

Необходимые компоненты

Прежде чем приступить к переносу базы данных MySQL в SQL Server, сделайте следующее:

  • Убедитесь, что ваша исходная среда поддерживается. В настоящее время поддерживаются MySQL 5.6 и 5.7.
  • Получите Помощник по миграции SQL Server для MySQL (SSMA для MySQL).
  • Получите возможность подключения и требуемые разрешения для доступа к исходному и целевому объектам.

Подготовка к миграции

После выполнения предварительных требований вы можете обнаружить исходную среду MySQL и оценить возможность миграции.

Оценка

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

Чтобы создать оценку, выполните следующие действия.

  1. Откройте SSMA для MySQL.

  2. В меню Файл выберите пункт Создать проект.

  3. Укажите имя проекта, расположение для сохранения проекта и целевой объект миграции. Для параметра Перенести в выберите значение SQL Server.

    Screenshot that shows New Project option.

  4. Укажите сведения о подключении в диалоговом окне Подключение к MySQL и подключитесь к серверу MySQL.

    Screenshot that shows Connect to MySQL option.

  5. Выберите базы данных MySQL, которые требуется перенести.

    Screenshot that shows selecting the MySQL database you want to migrate.

  6. Щелкните правой кнопкой мыши базу данных MySQL в области Обозреватель метаданных MySQL и выберите команду Создать отчет. Можно также выбрать вкладку Создание отчета в правом верхнем углу.

    Screenshot that shows Create Report feature.

  7. Ознакомьтесь с HTML-отчетом, чтобы получить сведения о статистике преобразований и любых ошибках или предупреждениях. Также можно открыть отчет в Excel, чтобы получить список объектов MySQL и действий, необходимых для выполнения преобразований схемы. По умолчанию отчет находится в папке report в каталоге SSMAProjects, как показано ниже.

    drive:\Users\<username>\Documents\SSMAProjects\MySQLMigration\report\report_2016_11_12T02_47_55\.

    Screenshot that shows a conversion report.

Проверка сопоставлений типов

Проверьте сопоставления типов данных по умолчанию и измените их в зависимости от требований, если это необходимо. Для этого:

  1. В меню Tools (Сервис) выберите Project Settings (Параметры проекта).

  2. Перейдите на вкладку Type mapping (Сопоставление типов).

    Screenshot that shows Type Mapping feature.

  3. Сопоставление типов для каждой таблицы можно изменить, выбрав таблицу в Обозревателе метаданных MySQL.

Дополнительные сведения о параметрах преобразования в SSMA для MySQL см. в разделе Project Параметры (Преобразование) (MySQLToSQL).

Преобразование схемы

Преобразование объектов баз данных происходит следующим образом: определения объектов берутся из MySQL, преобразуются в аналогичные объекты SQL Server, а затем эти сведения загружаются в метаданные SSMA для MySQL. Сведения не загружаются в экземпляр SQL Server. Затем можно просмотреть объекты и их свойства в Обозревателе метаданных SQL Server.

Во время преобразования SSMA для MySQL выводит сообщения о результатах в области "Вывод" и сообщения об ошибках в области Список ошибок. На основе выходных данных и сведений об ошибках можно определить, нужно ли изменить базы данных MySQL или процесс преобразования, чтобы получить нужные результаты.

Чтобы преобразовать схему, выполните следующие действия.

  1. (Необязательно) Чтобы преобразовать динамические или нерегламентированные запросы, щелкните узел правой кнопкой мыши и выберите "Добавить оператор".

  2. Откройте вкладку Подключение к SQL Server.

    1. Введите сведения о подключении для экземпляра SQL Server.
    2. Выберите целевую базу данных из раскрывающегося списка или введите новое имя, в котором база данных будет создана на целевом сервере.
    3. Введите сведения о проверке подлинности и нажмите кнопку Подключить.

    Screenshot that shows Connect to SQL Server.

  3. Щелкните правой кнопкой мыши базу данных MySQL в области Обозреватель метаданных MySQL и выберите пункт Преобразовать схему. Кроме того, можно выбрать вкладку Преобразование схемы в правом верхнем углу.

    Screenshot that shows Convert Schema option.

  4. После завершения преобразования сравните преобразованные объекты с исходными, чтобы определить возможные проблемы и устранить их в соответствии с рекомендациями.

    Screenshot that shows comparing and reviewing objects.

  5. Сравните преобразованный текст Transact-SQL с исходным кодом и просмотрите рекомендации.

    Screenshot that shows comparing and reviewing converted code.

  6. В области вывода выберите элемент Просмотр результатов и проверьте ошибки в области Список ошибок.

  7. Сохраните проект локально для исправления схемы в автономном режиме. В меню Файл выберите команду Сохранить проект. Так можно оценить исходную и целевую схемы в автономном режиме и исправить проблемы перед публикацией схемы в SQL Server.

Дополнительные сведения см. в статье Convert My База данных SQL s (MySQLToSQL).

Миграция

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

Доступны два варианта переноса.

  • Перенос данных на стороне клиента

    • Для переноса данных на стороне клиента в диалоговом окне Параметры проекта выберите вариант Подсистема переноса данных на стороне клиента.

    Примечание.

    Если целевой базой данных является выпуск SQL Express Edition, то разрешен только перенос данных на стороне клиента. Перенос данных на стороне сервера не поддерживается.

  • Перенос данных на стороне сервера

    • Прежде чем выполнять миграцию данных на стороне сервера, убедитесь, что:
      • пакет расширений SSMA для MySQL должен быть установлен в экземпляре SQL Server;
      • служба агента SQL Server должна быть запущена в экземпляре SQL Server.
    • Для переноса данных на стороне сервера в диалоговом окне Параметры проекта выберите вариант Подсистема переноса данных на стороне сервера.

Важно!

Если вы планируете использовать подсистему переноса данных на стороне сервера, то перед переносом необходимо установить пакет расширения SSMA для MySQL и поставщики MySQL на компьютере, на котором выполняется SSMA для MySQL. Кроме того, должна быть запущена служба агента SQL Server. Дополнительные сведения об установке пакета расширений см. в статье об установке компонентов SSMA в SQL Server (MySQLToSQL).

Чтобы опубликовать схему и перенести данные, выполните следующие действия.

  1. Опубликуйте схему. Для этого щелкните правой кнопкой мыши базу данных в области Обозреватель метаданных SQL Server и выберите пункт Синхронизировать с базой данных. В результате база данных MySQL будет опубликована в экземпляре SQL Server.

    Screenshot that shows Synchronize with Database.

  2. Проверьте результаты сопоставления исходного и целевого проектов.

    Screenshot that shows reviewing the synchronization with the database.

  3. Перенесите данные. Для этого щелкните правой кнопкой мыши базу данных или объект, которые требуется перенести, в разделе Обозреватель метаданных MySQL и выберите пункт Перенести данные. Кроме того, можно выбрать вкладку Перенос данных. Чтобы перенести данные для всей базы данных, установите флажок рядом с именем базы данных. Чтобы перенести данные из отдельных таблиц, разверните базу данных, разверните узел Таблицы и установите флажок рядом с нужной таблицей. Чтобы не переносить данные из определенной таблицы, снимите флажок.

    Screenshot that shows Migrate Data option.

  4. После завершения миграции изучите отчет о переносе данных.

    Screenshot that shows the Data Migration Report.

  5. Подключение экземпляру SQL Server с помощью SQL Server Management Studio (SSMS) и проверьте миграцию, просмотрив данные и схему.

    Screenshot that shows validation in SQL Server Management Studio.

После миграции

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

Исправление приложений

После переноса данных в целевую среду все приложения, которые раньше использовали источник, должны переключиться на использование целевого объекта миграции. Для этого в некоторых случаях потребуется внести изменения в приложения.

Выполнение тестов

Тестирование переноса базы данных включает следующие действия.

  1. Разработка проверочных тестов. Чтобы протестировать перенос базы данных, необходимо использовать SQL-запросы. Необходимо создать запросы проверки, которые будут выполняться как в исходной, так и в целевой базах данных. Проверочные запросы должны охватывать всю определенную ранее область.
  2. Настройка тестовой среды. Тестовая среда должна содержать копию исходной и целевой баз данных. Не забудьте изолировать тестовую среду.
  3. Выполнение проверочных тестов. Выполните проверочные тесты в исходной и целевой базах данных, а затем проанализируйте результаты.
  4. Выполнение тестов производительности. Запустите тесты производительности для исходной и целевой баз данных, а затем проанализируйте и сравните результаты.

Оптимизация

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

Примечание.

Дополнительные сведения об этих проблемах и шагах по их устранению см. в руководстве по проверке и оптимизации после миграции.

Ресурсы, посвященные миграции

Дополнительную помощь по этому сценарию миграции можно получить в приведенных ниже ресурсах. Он был разработан как вспомогательный материал по задействованию объективно существующих проектов миграции.

Заголовок Description
Модель и средство оценки рабочей нагрузки данных Это средство предоставляет предлагаемые "оптимальные" целевые платформы, готовность к переходу в облако и уровень исправления приложения или базы данных для конкретной рабочей нагрузки. Она обеспечивает простое вычисление и создание отчетов, которое помогает ускорить оценку крупных активов, предоставляя автоматизированный и унифицированный процесс принятия решений целевой платформы.
Из MySQL в SQL Server — средство сравнения баз данных Средство сравнения баз данных — это консольное приложение Windows, которое позволяет проверить идентичность данных на исходной и целевой платформах. Это средство можно использовать для эффективного сравнения данных на уровне строк или столбцов во всех или выбранных таблицах, строках и столбцах.

Эти ресурсы разработали специалисты по разработке данных SQL. Основная задача этой команды — включить и ускорить комплексную модернизацию проектов миграции платформы данных на платформу данных Microsoft Azure.