Преобразование схем Db2 (Db2ToSQL)
После подключения к Db2 и SQL Server и задания параметров сопоставления проектов и данных можно преобразовать объекты базы данных Db2 в объекты базы данных SQL Server.
Процесс конвертации
Преобразование объектов базы данных принимает определения объектов из Db2, преобразует их в аналогичные объекты SQL Server, а затем загружает эти сведения в метаданные Помощник по миграции SQL Server (SSMA). Сведения не загружаются в экземпляр SQL Server. Затем можно просмотреть объекты и их свойства в обозревателе метаданных SQL Server.
Во время преобразования SSMA выводит сообщения о результатах в области "Вывод" и сообщения об ошибках в области "Список ошибок". Используйте выходные данные и сведения об ошибках, чтобы определить, нужно ли изменять базы данных Db2 или процесс преобразования, чтобы получить нужные результаты преобразования.
Настройка параметров преобразования
Перед преобразованием объектов просмотрите параметры преобразования проекта в диалоговом окне "Параметры проекта". Используйте это диалоговое окно, чтобы задать способ преобразования функций и глобальных переменных SSMA. Дополнительные сведения см. в разделе "Параметры проекта" (преобразование).
Результаты преобразования
В следующей таблице показано, какие объекты Db2 преобразуются, и результирующий объект SQL Server:
Объекты Db2 | Результирующие объекты SQL Server |
---|---|
Типы данных | SSMA сопоставляет каждый тип, кроме следующих типов:CLOB : некоторые собственные функции, которые работают с этим типом, не поддерживаются (например, CLOB_EMPTY() )BLOB : некоторые собственные функции для работы с этим типом не поддерживаются (например, BLOB_EMPTY() )DBLOB : некоторые собственные функции для работы с этим типом не поддерживаются (например, DBLOB_EMPTY() ) |
Определяемые пользователем типы | SSMA сопоставляет следующие пользовательские объекты: - Отдельный тип — Структурированный тип — Типы данных SQL PL Примечание. Не поддерживаются слабые типы курсоров. |
Специальные регистры | SSMA сопоставляет только следующие регистры:CURRENT TIMESTAMP CURRENT DATE CURRENT TIME CURRENT TIMEZONE CURRENT USER SESSION_USER и USER .SYSTEM_USER CURRENT CLIENT_APPLNAME CURRENT CLIENT_WRKSTNNAME CURRENT LOCK TIMEOUT CURRENT SCHEMA CURRENT SERVER CURRENT ISOLATION Другие специальные регистры не сопоставляются с семантикой SQL Server. |
CREATE TABLE |
SSMA сопоставляется CREATE TABLE со следующими исключениями:Многомерные таблицы кластеризации (MDC) Таблицы с диапазоном (RCT) Секционированные таблицы Отсоединяемая таблица Предложение DATA CAPTURE IMPLICITLY HIDDEN выборVOLATILE выбор |
CREATE VIEW |
Карты CREATE VIEW SSMA с другими параметрами не сопоставляются с WITH LOCAL CHECK OPTION семантикой SQL Server |
CREATE INDEX |
SSMA сопоставляется CREATE INDEX со следующими исключениями:XML-индекс BUSINESS_TIME WITHOUT OVERLAPS выборПредложение PARTITIONED SPECIFICATION ONLY выборEXTEND USING выборMINPCTUSED выборPAGE SPLIT выбор |
Триггеры | SSMA сопоставляет следующую семантику триггера:AFTER / FOR EACH ROW ТриггерыAFTER / FOR EACH STATEMENT ТриггерыBEFORE / FOR EACH ROW и INSTEAD OF / FOR EACH ROW триггеры |
Последовательности | Сопоставлены. |
инструкция SELECT |
SSMA сопоставляется SELECT со следующими исключениями:Предложение data-change-table-reference — частично сопоставлено, но FINAL таблицы не поддерживаютсяПредложение table-reference — частично сопоставленное, но только таблица-reference, внешние таблицы-reference, analysis-table-expression, collection-производные таблицы, xmltable-expression не сопоставляются с семантикой SQL Server period-specification предложение — не сопоставлено.Предложение continue-handler — не сопоставлено. Предложение typed-correlation — не сопоставлено. Предложение параллельного разрешения доступа — не сопоставлено. |
инструкция VALUES |
Сопоставлены. |
инструкция INSERT |
Сопоставлены. |
инструкция UPDATE |
SSMA сопоставляется 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 ServerDb2_TOKEN_STRING — не сопоставляется с семантикой SQL Server |
Курсоры | SSMA сопоставляет курсоры со следующими исключениями:ALLOCATE CURSOR оператор — не сопоставляется с семантикой SQL ServerASSOCIATE LOCATORS оператор — не сопоставляется с семантикой SQL ServerDECLARE CURSOR оператор . Предложение returnability не сопоставляется с семантикой SQL ServerFETCH оператор — частичное сопоставление. Поддерживаются только переменные в качестве целевого объекта. 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".
Объект можно исключить из миграции. В обозревателе метаданных SQL Server и обозревателе метаданных Db2 снимите флажок рядом с элементом перед загрузкой объектов в SQL Server и переносом данных из Db2.