Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
После подключения к Oracle подключитесь к SQL Server и задайте параметры сопоставления проектов и данных, можно преобразовать объекты базы данных Oracle в объекты базы данных SQL Server.
Процесс конвертации
Преобразование объектов базы данных принимает определения объектов из Oracle, преобразует их в аналогичные объекты SQL Server, а затем загружает эти сведения в метаданные помощника по миграции Microsoft SQL Server (SSMA) для Oracle. Сведения не загружаются в экземпляр SQL Server. Затем можно просмотреть объекты и их свойства в обозревателе метаданных SQL Server.
Во время преобразования SSMA выводит выходные сообщения в область вывода и сообщения об ошибках в области списка ошибок . Используйте выходные данные и сведения об ошибках, чтобы определить, нужно ли изменять базы данных Oracle или процесс преобразования, чтобы получить нужные результаты преобразования.
Настройка параметров преобразования
Перед преобразованием объектов просмотрите параметры преобразования проекта в диалоговом окне "Параметры проекта". С помощью этого диалогового окна можно определить, как SSMA преобразует функции и глобальные переменные. Дополнительные сведения см. в разделе "Параметры проекта" (преобразование).
Результаты преобразования
В следующей таблице показано, какие объекты Oracle преобразуются, и результирующий объект SQL Server:
Объекты Oracle | Результирующие объекты SQL Server |
---|---|
Функции | Если функция может быть напрямую преобразована в инструкцию Transact-SQL, SSMA создает функцию. В некоторых случаях функция должна быть преобразована в хранимую процедуру. В этом случае SSMA создает хранимую процедуру и функцию, которая вызывает хранимую процедуру. |
Процедуры | Если процедуру можно преобразовать непосредственно в инструкцию Transact-SQL, SSMA создает хранимую процедуру. В некоторых случаях хранимую процедуру необходимо вызывать как часть автономной транзакции. В этом случае SSMA создает две хранимые процедуры: одну, реализующую процедуру, и другую, которая вызывает процедуру, реализующую. |
Пакеты | SSMA создает набор хранимых процедур и функций, объединенных аналогичными именами объектов. |
Последовательности | SSMA создает объекты последовательности (SQL Server 2012 или SQL Server 2014) или эмулирует последовательности Oracle. |
Таблицы с зависимыми объектами, такими как индексы и триггеры | SSMA создает таблицы с зависимыми объектами. |
Представления с зависимыми объектами, такими как триггеры | SSMA создает представления с зависимыми объектами. |
Материализованные представления | SSMA создает индексированные представления на SQL Server с некоторыми исключениями. Преобразование не удается, если материализованное представление содержит одну или несколько следующих конструкций. Определяемая пользователем функция. Недетерминированное поле, функция или выражение в SELECT , WHERE или GROUP BY предложениях.Использование плавающего столбца в SELECT* , WHERE или GROUP BY предложениях (особый случай предыдущей проблемы).Настраиваемый тип данных (включая вложенные таблицы). COUNT (отдельное <поле>).FETCH .OUTER присоединяется (LEFT , RIGHT , или FULL ).Вложенный запрос, другое представление. OVER , RANK , LEAD или LOG .MIN , MAX .UNION , , MINUS INTERSECT .HAVING . |
Триггер | SSMA создает триггеры на основе следующих правил:BEFORE триггеры преобразуются в триггеры INSTEAD OF .AFTER триггеры преобразуются в триггеры AFTER .INSTEAD OF триггеры преобразуются в триггеры INSTEAD OF . Несколько INSTEAD OF триггеров, определенных в одной операции, объединяются в один триггер.Триггеры уровня строк эмулируются с помощью курсоров. Составные триггеры преобразуются в триггеры типа INSTEAD OF . Несколько составных триггеров объединяются в один триггер.Каскадные триггеры преобразуются в несколько отдельных триггеров. |
Синонимы | Синонимы создаются для следующих типов объектов: Таблицы и таблицы объектов. Взгляды и представления объектов. Хранимые процедуры. Функции. Синонимы для следующих объектов разрешаются и заменяются прямыми ссылками на объекты: Последовательности. Пакеты Объекты схемы классов Java. Определяемые пользователем типы объектов. Синонимы для другого синонима не могут быть перенесены и помечены как ошибки. Синонимы не создаются для материализованных представлений. |
Определяемые пользователем типы | SSMA не поддерживает преобразование определяемых пользователем типов. Определяемые пользователем типы, включая его использование в программах PL/SQL, отмечены специальными ошибками преобразования, руководствуясь следующими правилами: Столбец таблицы определяемого пользователем типа преобразуется в VARCHAR(8000) .Аргумент определяемого пользователем типа в хранимую процедуру или функцию преобразуется в VARCHAR(8000) .Переменная определяемого пользователем типа в блоке PL/SQL преобразуется в VARCHAR(8000) .Таблица объектов преобразуется в стандартную таблицу. Представление объектов преобразуется в стандартное представление. |
Преобразование объектов базы данных Oracle
Чтобы преобразовать объекты базы данных Oracle, выберите объекты, которые требуется преобразовать, а затем выполните преобразование SSMA. Чтобы просмотреть выходные сообщения во время преобразования, в меню "Вид " выберите "Вывод".
Преобразование объектов Oracle в синтаксис SQL Server
В обозревателе метаданных Oracle разверните сервер Oracle и разверните схемы.
Выберите объекты для преобразования:
- Чтобы преобразовать все схемы, установите флажок рядом с схемами.
- Чтобы преобразовать или опустить базу данных, установите флажок рядом с именем схемы.
- Чтобы преобразовать или опустить категорию объектов, разверните схему, а затем установите или снимите флажок рядом с категорией.
- Чтобы преобразовать или опустить отдельные объекты, разверните папку категории, а затем установите или снимите флажок рядом с объектом.
Чтобы преобразовать все выбранные объекты, щелкните правой кнопкой мыши схемы и выберите "Преобразовать схему".
Вы также можете преобразовать отдельные объекты или категории объектов, щелкнув правой кнопкой мыши объект или ее родительскую папку, а затем выбрав "Преобразовать схему".
Просмотр проблем преобразования
Некоторые объекты Oracle могут не быть преобразованы. Вы можете определить показатели успешного преобразования, просмотрев сводный отчет о преобразовании.
Просмотр сводного отчета
В обозревателе метаданных Oracle выберите схемы.
В правой области выберите вкладку "Отчет ".
В этом отчете показан сводный отчет об оценке для всех объектов базы данных, которые были оценены или преобразованы. Вы также можете просмотреть сводный отчет для отдельных объектов.
- Чтобы просмотреть отчет для отдельной схемы, выберите схему в обозревателе метаданных Oracle.
- Чтобы просмотреть отчет для отдельного объекта, выберите объект в обозревателе метаданных Oracle. Объекты с проблемами преобразования имеют красный значок ошибки.
Для объектов, которые не удалось преобразовать, можно просмотреть синтаксис, который привел к сбою преобразования.
Просмотр отдельных проблем преобразования
В обозревателе метаданных Oracle разверните схемы.
Разверните схему с красным значком ошибки.
В схеме разверните папку с красным значком ошибки.
Выберите объект с красным значком ошибки.
В правой области выберите вкладку "Отчет ".
В верхней части вкладки "Отчет " есть раскрывающийся список. Если в списке отображается статистика, измените выбор на источник. SSMA отображает исходный код и несколько кнопок сразу над кодом.
Нажмите кнопку "Следующая проблема ", которая отображает красный значок ошибки со стрелкой справа. SSMA выделяет первый проблемный исходный код, который он находит в текущем объекте.
Для каждого элемента, который не удалось преобразовать, выберите то, что нужно сделать с этим объектом:
- Исходный код можно изменить на вкладке SQL .
- Объект в базе данных Oracle можно изменить, чтобы удалить или пересмотреть проблемный код. Чтобы загрузить обновленный код в SSMA, необходимо обновить метаданные. Дополнительные сведения см. в разделе "Подключение к базе данных Oracle".
- Вы можете исключить объект из миграции. В обозревателе метаданных SQL Server и обозревателе метаданных Oracle снимите флажок рядом с элементом. Затем загрузите объекты в SQL Server и перенесите данные из Oracle.