Поделиться через


Преобразование схем 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  2. Разверните схему, отображающую красный значок ошибки.

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

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

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

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

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

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

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

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

  • Исходный код можно изменить на вкладке SQL .

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

  • Объект можно исключить из миграции. В обозревателе метаданных SQL Server и обозревателе метаданных DB2 снимите флажок рядом с элементом перед загрузкой объектов в SQL Server и переносом данных из DB2.

Следующий шаг

Следующим шагом в процессе миграции является загрузка преобразованных объектов в SQL Server.

См. также

Перенос данных DB2 в SQL Server (DB2ToSQL)