Преобразование схем DB2 (DB2ToSQL)
После подключения к DB2, подключения к SQL Server и задания параметров сопоставления проектов и данных можно преобразовать объекты базы данных DB2 в объекты базы данных SQL Server.
Процесс преобразования
Преобразование объектов базы данных принимает определения объектов из DB2, преобразует их в аналогичные объекты SQL Server, а затем загружает эти сведения в метаданные SSMA. Сведения не загружаются в экземпляр SQL Server. Затем можно просмотреть объекты и их свойства в обозревателе метаданных SQL Server.
Во время преобразования SSMA выводит сообщения о результатах в области "Вывод" и сообщения об ошибках в области "Список ошибок". Используйте выходные данные и сведения об ошибках, чтобы определить, нужно ли изменять базы данных DB2 или процесс преобразования, чтобы получить нужные результаты преобразования.
Настройка параметров преобразования
Перед преобразованием объектов просмотрите параметры преобразования проекта в диалоговом окне "Параметры проекта". С помощью этого диалогового окна можно задать способ преобразования функций и глобальных переменных SSMA. Дополнительные сведения см. в разделе "Параметры проекта" (преобразование) (DB2ToSQL).
Результаты преобразования
В следующей таблице показано, какие объекты DB2 преобразуются, и результирующий объект SQL Server:
Объекты DB2 | Результирующий объект SQL Server |
---|---|
Типы данных | SSMA сопоставляет каждый тип, кроме перечисленных ниже: CLOB: некоторые собственные функции для работы с этим типом не поддерживаются (например, CLOB_EMPTY()) BLOB: некоторые собственные функции для работы с этим типом не поддерживаются (например, BLOB_EMPTY()) DBLOB: некоторые собственные функции для работы с этим типом не поддерживаются (например, DBLOB_EMPTY()) |
Определяемые пользователем типы | SSMA сопоставляет следующее определяемое пользователем значение: Отдельный тип Структурированный тип Типы данных SQL PL. Примечание. Слабый тип курсора не поддерживается. |
Специальные регистры | SSMA сопоставляет только зарегистрированные ниже регистры: ТЕКУЩАЯ МЕТКА ВРЕМЕНИ ТЕКУЩАЯ ДАТА ТЕКУЩЕЕ ВРЕМЯ ТЕКУЩИЙ ЧАСОВОЙ ПОЯС ТЕКУЩИЙ ПОЛЬЗОВАТЕЛЬ SESSION_USER и USER SYSTEM_USER CURRENT CLIENT_APPLNAME CURRENT CLIENT_WRKSTNNAME ТЕКУЩЕЕ ВРЕМЯ ОЖИДАНИЯ БЛОКИРОВКИ ТЕКУЩАЯ СХЕМА ТЕКУЩИЙ СЕРВЕР ТЕКУЩАЯ ИЗОЛЯЦИЯ Другие специальные регистры не сопоставляются с семантикой SQL Server. |
СОЗДАТЬ ТАБЛИЦУ | SSMA сопоставляет CREATE TABLE со следующими исключениями: Многомерные таблицы кластеризации (MDC) Таблицы с диапазоном (RCT) Секционированные таблицы Отсоединяемая таблица Предложение DATA CAPTURE НЕЯВНО СКРЫТЫЙ ПАРАМЕТР ПАРАМЕТР VOLATILE |
СОЗДАТЬ ПРЕДСТАВЛЕНИЕ | SSMA сопоставляет CREATE VIEW с параметром WITH LOCAL CHECK OPTION, но другие параметры не сопоставлены с семантикой SQL Server. |
CREATE INDEX | SSMA сопоставляет CREATE INDEX со следующими исключениями: XML-индекс параметр BUSINESS_TIME БЕЗ ПЕРЕКРЫТИЯ Предложение PARTITIONED ПАРАМЕТР "ТОЛЬКО СПЕЦИФИКАЦИЯ" РАСШИРЕНИЕ ПАРАМЕТРА USING Параметр MINPCTUSED Параметр PAGE SPLIT |
Триггеры | SSMA сопоставляет следующую семантику триггера: AFTER / FOR EACH ROW Triggers ТРИГГЕРЫ ИНСТРУКЦИЙ AFTER /FOR EACH BEFORE / FOR EACH ROW and INSTEAD OF / FOR EACH ROW Triggers |
Последовательности | Сопоставляются. |
Инструкция SELECT | SSMA сопоставляет SELECT со следующими исключениями: Предложение data-change-table-reference — частично сопоставлено, но таблицы FINAL не поддерживаются Предложение table-reference — частично сопоставленное, но только таблица-ссылка, внешняя таблица-ссылка, analyze_table-выражение, производная от коллекции таблица, xmltable-expression не сопоставляется с семантикой SQL Server Предложение спецификации периода — не сопоставлено. Предложение continue-handler — не сопоставлено. Предложение typed-correlation — не сопоставлено. Предложение параллельного разрешения доступа — не сопоставлено. |
Оператор VALUES | Сопоставляется. |
Инструкция INSERT | Сопоставляется. |
Инструкция UPDATE | SMAсопоставляет UPDATE со следующими исключениями: Предложение table-reference . Ссылка только на таблицу не сопоставлена с семантикой SQL Server Предложение Period — не сопоставляется. |
Инструкция MERGE | SSMA сопоставляет MERGE со следующими исключениями: Одно и несколько вхождений каждого предложения— сопоставляется с семантикой SQL Server для ограниченного вхождения каждого предложения. Предложение SIGNAL — не сопоставляется с семантикой SQL Server Смешанные предложения UPDATE и DELETE — не сопоставляются с семантикой SQL Server Предложение period-clause — не сопоставляется с семантикой SQL Server |
Инструкция DELETE | SSMA сопоставляет DELETE со следующими исключениями: Предложение table-reference . Ссылка только на таблицу не сопоставлена с семантикой SQL Server Предложение Period — не сопоставляется с семантикой SQL Server |
Уровень изоляции и тип блокировки | Сопоставляется. |
Процедуры (SQL) | Сопоставляются. |
Процедуры (внешние) | Требовать обновления вручную. |
Процедуры (источник) | Не сопоставляйтесь с семантикой SQL Server. |
Оператор назначения | Сопоставляется. |
Инструкция CALL для процедуры | Сопоставляется. |
Инструкция CASE | Сопоставляется. |
Инструкция FOR | Сопоставляется. |
GOTO, инструкция | Сопоставляется. |
Инструкция IF | Сопоставляется. |
Оператор ITERATE | Сопоставляется. |
Оператор LEAVE | Сопоставляется. |
Оператор LOOP | Сопоставляется. |
Инструкция REPEAT | Сопоставляется. |
Заявление RESIGNAL | Условия не поддерживаются. Сообщения могут быть необязательными. |
Инструкция RETURN | Сопоставляется. |
Оператор SIGNAL | Условия не поддерживаются. Сообщения могут быть необязательными. |
Инструкция WHILE | Сопоставляется. |
Инструкция GET DIAGNOSTICS | SSMA сопоставляет GET DIAGNOSTICS со следующими исключениями: ROW_COUNT — сопоставляется. DB2_RETURN_STATUS — сопоставляется. MESSAGE_TEXT — сопоставляется. DB2_SQL_NESTING_LEVEL — не сопоставляется с семантикой SQL Server DB2_TOKEN_STRING — не сопоставляется с семантикой SQL Server |
Курсоры | SSMA сопоставляет CURSORS со следующими исключениями: Оператор SELECT CURSOR — не сопоставляется с семантикой SQL Server Оператор ASSOCIATE LOCATOR — не сопоставляется с семантикой SQL Server Инструкция DECLARE CURSOR. Предложение returnability не сопоставляется с семантикой SQL Server Оператор FETCH — частичное сопоставление. Поддерживаются только переменные в качестве целевого объекта. SQLDA DESCRIPTOR не сопоставляется с семантикой SQL Server |
Переменные | Сопоставляются. |
Исключения, обработчики и условия | SSMA сопоставляет "обработку исключений" со следующими исключениями: Обработчики EXIT — сопоставляются. Обработчики UNDO — сопоставляются. Обработчики CONTINUE — не сопоставляются. Условия. Он не сопоставляется с семантикой SQL Server. |
Динамический SQL | Не сопоставлено. |
Aliases | Сопоставляются. |
Прозвища | Частичное сопоставление. Обработка вручную требуется для базового объекта |
Синонимы | Сопоставляются. |
Стандартные функции в DB2 | SSMA сопоставляет стандартные функции DB2, если эквивалентная функция доступна в SQL Server: |
Авторизация | Не сопоставлено. |
Предикаты | Сопоставляются. |
Инструкция SELECT INTO | Не сопоставлено. |
Инструкция VALUES INTO | Не сопоставлено. |
Управление транзакцией | Не сопоставлено. |
Преобразование объектов базы данных DB2
Чтобы преобразовать объекты базы данных DB2, сначала выберите объекты, которые требуется преобразовать, а затем выполните преобразование SSMA. Чтобы просмотреть выходные сообщения во время преобразования, в меню "Вид " выберите "Вывод".
Преобразование объектов DB2 в синтаксис SQL Server
В обозревателе метаданных DB2 разверните сервер DB2 и разверните схемы.
Выберите объекты для преобразования:
Чтобы преобразовать все схемы, установите флажок рядом с схемами.
Чтобы преобразовать или опустить базу данных, установите флажок рядом с именем схемы.
Чтобы преобразовать или опустить категорию объектов, разверните схему, а затем установите или снимите флажок рядом с категорией.
Чтобы преобразовать или опустить отдельные объекты, разверните папку категории, а затем установите или снимите флажок рядом с объектом.
Чтобы преобразовать все выбранные объекты, щелкните правой кнопкой мыши схемы и выберите "Преобразовать схему".
Вы также можете преобразовать отдельные объекты или категории объектов, щелкнув правой кнопкой мыши объект или ее родительскую папку, а затем выбрав "Преобразовать схему".
Просмотр проблем преобразования
Некоторые объекты DB2 могут не быть преобразованы. Вы можете определить показатели успешного преобразования, просмотрев сводный отчет о преобразовании.
Просмотр сводного отчета
В обозревателе метаданных DB2 выберите схемы.
В правой области выберите вкладку "Отчет ".
В этом отчете показан сводный отчет об оценке для всех объектов базы данных, которые были оценены или преобразованы. Вы также можете просмотреть сводный отчет для отдельных объектов:
Чтобы просмотреть отчет для отдельной схемы, выберите схему в обозревателе метаданных DB2.
Чтобы просмотреть отчет для отдельного объекта, выберите объект в обозревателе метаданных DB2. Объекты с проблемами преобразования имеют красный значок ошибки.
Для объектов, которые не удалось преобразовать, можно просмотреть синтаксис, который привел к сбою преобразования.
Просмотр отдельных проблем преобразования
В обозревателе метаданных DB2 разверните схемы.
Разверните схему, отображающую красный значок ошибки.
В схеме разверните папку с красным значком ошибки.
Выберите объект, имеющий красный значок ошибки.
В правой области щелкните вкладку "Отчет ".
В верхней части вкладки "Отчет " находится раскрывающийся список. Если в списке отображается статистика, измените выбор на источник.
SSMA отобразит исходный код и несколько кнопок сразу над кодом.
Нажмите кнопку "Следующая проблема ". Это красный значок ошибки со стрелкой справа.
SSMA выделяет первый проблемный исходный код, который он находит в текущем объекте.
Для каждого элемента, который не удалось преобразовать, необходимо определить, что нужно сделать с этим объектом:
Исходный код можно изменить на вкладке SQL .
Объект в базе данных DB2 можно изменить, чтобы удалить или пересмотреть проблемный код. Чтобы загрузить обновленный код в SSMA, необходимо обновить метаданные. Дополнительные сведения см. в разделе "Подключение к базе данных DB2 " (DB2ToSQL)".
Объект можно исключить из миграции. В обозревателе метаданных SQL Server и обозревателе метаданных DB2 снимите флажок рядом с элементом перед загрузкой объектов в SQL Server и переносом данных из DB2.
Следующий шаг
Следующим шагом в процессе миграции является загрузка преобразованных объектов в SQL Server.
См. также
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по