Преобразование баз данных MySQL (MySQLToSQL)

После подключения к MySQL подключитесь к SQL Server или SQL Azure и задайте параметры сопоставления проектов и данных, можно преобразовать объекты базы данных MySQL в объекты базы данных SQL Server или Базы данных SQL Azure.

Процесс конвертации

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

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

Настройка параметров преобразования

Перед преобразованием объектов просмотрите параметры преобразования проекта в диалоговом окне "Параметры проекта". С помощью этого диалогового окна можно задать способ преобразования таблиц и индексов SSMA. Дополнительные сведения см. в разделе "Параметры проекта" (преобразование) (MySQLToSQL).

Результаты преобразования

В следующей таблице показано, какие объекты MySQL преобразуются, и результирующий объект SQL Server:

Объекты MySQL Результирующий объект SQL Server
Таблицы с зависимыми объектами, такими как индексы SSMA создает таблицы с зависимыми объектами. Таблица преобразуется со всеми индексами и ограничениями. Индексы преобразуются в отдельные объекты SQL Server.

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

Дополнительные сведения о параметрах преобразования таблиц см. в разделе "Параметры преобразования"
Функции Если функция может быть напрямую преобразована в инструкцию Transact-SQL, SSMA создает функцию. В некоторых случаях функция должна быть преобразована в хранимую процедуру. Это можно сделать с помощью преобразования функций в параметрах проекта. В этом случае SSMA создает хранимую процедуру и функцию, которая вызывает хранимую процедуру.

Выбранные варианты:

— Преобразование в соответствии с параметрами проекта
— преобразование в функцию
— Преобразование в хранимую процедуру

Дополнительные сведения о параметрах преобразования функций см. в разделе "Параметры преобразования"
Процедуры Если процедуру можно преобразовать непосредственно в инструкцию Transact-SQL, SSMA создает хранимую процедуру. В некоторых случаях хранимая процедура должна вызываться в автономной транзакции. В этом случае SSMA создает две хранимые процедуры: одна из них реализует процедуру, вторая используется для вызова хранимой процедуры.
Преобразование базы данных Базы данных как объекты MySQL не преобразуются напрямую с помощью SSMA для MySQL. Базы данных MySQL рассматриваются как имя схемы, а все физические параметры теряются во время преобразования. SSMA для MySQL использует сопоставление баз данных MySQL с схемами SQL Server (MySQLToSQL) для сопоставления объектов из базы данных MySQL с соответствующей парой базы данных SQL Server или схемы.
Преобразование триггеров SSMA создает триггеры на основе следующих правил:

— ТРИГГЕРЫ BEFORE преобразуются в триггеры INSTEAD OF T-SQL
— триггеры AFTER преобразуются в триггеры AFTER-SQL с итерациями на строки или без них.
Просмотр преобразования SSMA создает представления с зависимыми объектами
Преобразование инструкций — Каждый объект инструкции SQL может содержать одну инструкцию MySQL (например, DDL, DML и другие типы инструкций) или BEGIN ... Блок END.
- В преобразовании MultiStatement:BEGIN ... Преобразование блока END, инструкция SQL также может содержать begin ... Блок END, например один в процедуре, функции или определении триггера. Эти блоки должны быть преобразованы так же, как они преобразуются для отдельных объектов инструкций MySQL.

Преобразование объектов базы данных MySQL

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

Преобразование объектов MySQL в синтаксис SQL Server или Azure SQL

  1. В обозревателе метаданных MySQL разверните сервер MySQL и разверните базы данных.

  2. Выберите объекты для преобразования:

    • Чтобы преобразовать все схемы, установите флажок рядом с базами данных.

    • Чтобы преобразовать или опустить базу данных, установите флажок рядом с именем базы данных.

    • Чтобы преобразовать или опустить категорию объектов, разверните схему, а затем установите или снимите флажок рядом с категорией.

    • Чтобы преобразовать или опустить отдельные объекты, разверните папку категории, а затем установите или снимите флажок рядом с объектом.

  3. Чтобы преобразовать все выбранные объекты, щелкните правой кнопкой мыши базы данных и выберите "Преобразовать схему".

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

Просмотр проблем преобразования

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

Просмотр сводного отчета

  1. В обозревателе метаданных MySQL выберите базы данных.

  2. В правой области выберите вкладку "Отчет ".

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

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

    • Чтобы просмотреть отчет для отдельного объекта, выберите объект в обозревателе метаданных MySQL. Объекты с проблемами преобразования имеют красный значок ошибки.

Для объектов, которые не удалось преобразовать, можно просмотреть синтаксис, который привел к сбою преобразования.

Просмотр отдельных проблем преобразования

  1. В обозревателе метаданных MySQL разверните базы данных.

  2. Разверните базу данных с красным значком ошибки.

  3. В базе данных разверните папку с красным значком ошибки.

  4. Выберите объект, имеющий красный значок ошибки.

  5. В правой области выберите вкладку "Отчет ".

  6. В верхней части вкладки "Отчет " находится раскрывающийся список. Если в списке отображается статистика, измените выбор на источник.

    SSMA отображает исходный код и несколько кнопок сразу над кодом.

  7. Нажмите кнопку "Следующая проблема ". Это красный значок ошибки со стрелкой справа.

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

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

  • Объект в базе данных MySQL можно изменить, чтобы удалить или пересмотреть проблемный код. Чтобы загрузить обновленный код в SSMA, необходимо обновить метаданные. Дополнительные сведения см. в разделе "Подключение к MySQL" (MySQLToSQL)

  • Объект можно исключить из миграции. В ОБОЗРЕВАТЕЛЕ метаданных SQL Server или SQL Azure и обозревателе метаданных MySQL снимите флажок рядом с элементом перед загрузкой объектов в SQL Server или SQL Azure и переносить данные из MySQL.

См. также

Далее