Преобразование my База данных SQL (MySQLToSQL)
После подключения к MySQL подключитесь к SQL Server или SQL Azure и задайте параметры сопоставления проектов и данных, можно преобразовать объекты базы данных MySQL в объекты SQL Server или База данных SQL Azure с помощью Помощник по миграции SQL Server (SSMA) для MySQL.
Процесс конвертации
Преобразование объектов базы данных принимает определения объектов из MySQL, преобразует их в аналогичные объекты SQL Server или Azure SQL, а затем загружает эти сведения в метаданные SSMA. Сведения не загружаются в экземпляр SQL Server. Затем можно просмотреть объекты и их свойства с помощью SQL Server или обозревателя метаданных SQL Azure.
Во время преобразования SSMA выводит сообщения о результатах в области "Вывод" и сообщения об ошибках в области "Список ошибок". На основе выходных данных и сведений об ошибках можно определить, нужно ли изменить базы данных MySQL или процесс преобразования, чтобы получить нужные результаты.
Настройка параметров преобразования
Перед преобразованием объектов просмотрите параметры преобразования проекта в диалоговом окне "Параметры проекта". С помощью этого диалогового окна можно задать способ преобразования таблиц и индексов SSMA. Дополнительные сведения см. в разделе "Параметры проекта" (преобразование).
Результаты преобразования
В следующей таблице показано, какие объекты MySQL преобразуются, и результирующий объект SQL Server:
Объекты MySQL | Результирующие объекты SQL Server |
---|---|
Таблицы с зависимыми объектами, такими как индексы | SSMA создает таблицы с зависимыми объектами. Таблица преобразуется со всеми индексами и ограничениями. Индексы преобразуются в отдельные объекты SQL Server. Сопоставление типов пространственных данных можно выполнять только на уровне узла таблицы. Дополнительные сведения о параметрах преобразования таблиц см. в разделе "Параметры преобразования" |
Функции | Если функция может быть напрямую преобразована в инструкцию Transact-SQL, SSMA создает функцию. В некоторых случаях функция должна быть преобразована в хранимую процедуру. Это можно сделать с помощью преобразования функций в параметрах проекта. В этом случае SSMA создает хранимую процедуру и функцию, которая вызывает хранимую процедуру. Выбранные варианты: — Преобразование в соответствии с параметрами проекта — преобразование в функцию — Преобразование в хранимую процедуру Дополнительные сведения о параметрах преобразования функций см. в разделе "Параметры преобразования" |
Процедуры | Если процедуру можно преобразовать непосредственно в инструкцию Transact-SQL, SSMA создает хранимую процедуру. В некоторых случаях хранимая процедура должна вызываться в автономной транзакции. В этом случае SSMA создает две хранимые процедуры: одна из них реализует процедуру, вторая используется для вызова хранимой процедуры. |
Преобразование базы данных | Базы данных как объекты MySQL не преобразуются напрямую с помощью SSMA для MySQL. Базы данных MySQL рассматриваются как имя схемы, а все физические параметры теряются во время преобразования. SSMA для MySQL использует сопоставление My База данных SQL с схемами SQL Server для сопоставления объектов из базы данных 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
В обозревателе метаданных MySQL разверните сервер MySQL и разверните базы данных.
Выберите объекты для преобразования:
Чтобы преобразовать все схемы, установите флажок рядом с базами данных.
Чтобы преобразовать или опустить базу данных, установите флажок рядом с именем базы данных.
Чтобы преобразовать или опустить категорию объектов, разверните схему, а затем установите или снимите флажок рядом с категорией.
Чтобы преобразовать или опустить отдельные объекты, разверните папку категории, а затем установите или снимите флажок рядом с объектом.
Чтобы преобразовать все выбранные объекты, щелкните правой кнопкой мыши базы данных и выберите "Преобразовать схему".
Вы также можете преобразовать отдельные объекты или категории объектов, щелкнув правой кнопкой мыши объект или ее родительскую папку, а затем выбрав "Преобразовать схему".
Просмотр проблем преобразования
Некоторые объекты MySQL могут не быть преобразованы. Вы можете определить показатели успешного преобразования, просмотрев сводный отчет о преобразовании.
Просмотр сводного отчета
В обозревателе метаданных MySQL выберите базы данных.
В правой области выберите вкладку "Отчет ".
В этом отчете показан сводный отчет об оценке для всех объектов базы данных, которые были оценены или преобразованы. Вы также можете просмотреть сводный отчет для отдельных объектов:
Чтобы просмотреть отчет для отдельной схемы, выберите базу данных в обозревателе метаданных MySQL.
Чтобы просмотреть отчет для отдельного объекта, выберите объект в обозревателе метаданных MySQL. Объекты с проблемами преобразования имеют красный значок ошибки.
Для объектов, которые не удалось преобразовать, можно просмотреть синтаксис, который привел к сбою преобразования.
Просмотр отдельных проблем преобразования
В обозревателе метаданных MySQL разверните базы данных.
Разверните базу данных с красным значком ошибки.
В базе данных разверните папку с красным значком ошибки.
Выберите объект, имеющий красный значок ошибки.
В правой области выберите вкладку "Отчет ".
В верхней части вкладки "Отчет " находится раскрывающийся список. Если в списке отображается статистика, измените выбор на источник.
SSMA отображает исходный код и несколько кнопок сразу над кодом.
Нажмите кнопку "Следующая проблема ". Это красный значок ошибки со стрелкой вправо.
SSMA выделяет первый проблемный исходный код, который он находит в текущем объекте.
Для каждого элемента, который не удалось преобразовать, необходимо определить, что нужно сделать с этим объектом:
Объект в базе данных MySQL можно изменить, чтобы удалить или пересмотреть проблемный код. Чтобы загрузить обновленный код в SSMA, необходимо обновить метаданные. Дополнительные сведения см. в разделе "Подключение к MySQL"
Объект можно исключить из миграции. В ОБОЗРЕВАТЕЛЕ метаданных SQL Server или SQL Azure и обозревателе метаданных MySQL снимите флажок рядом с элементом перед загрузкой объектов в SQL Server или SQL Azure и переносить данные из MySQL.