SQL Server: Управление миграцией

Последняя версия SQL Server под кодовым именованием «Denali» обладает массой симпатичных функций и наверное подвигнет многие компании к переходу на SQL Server. Невзирая на высшую производительность и симпатичную совокупную цена владения (TCO) SQL Server, многие организации не торопятся перебегать на SQL Server, боясь издержек и рисков, связанных с миграцией баз данных.

К счастью, Microsoft предоставляет особое средство, SQL Server Migration Assistant (SSMA), для автоматизации процесса передвижения. Последняя версия SSMA v.5.1 (выпущена сразу с выходом SQL Server Denali CTP3) поддерживает миграцию с баз данных Oracle, Sybase, MySQL и Access на SQL Server. Вы сможете использовать SSMA для облегчения реализации проекта по передвижения баз данных. В качестве примера поглядим на процесс передвижения с базы данных Oracle — в других СУБД процесс и этапы передвижения совпадают.

Доступ к базе данных

SSMA автоматизирует миграцию большинства объектов базы данных, в том числе хранимых процедур, функций, пакетов и триггеров. Текущая версия SSMA поддерживает все типы данных кроме нескольких особых объектных и пространственных типов. Не считая того, может быть не получится автоматом конвертировать некие сложные аннотации PL/SQL. SSMA можно использовать для оценки передвижения вашей базы данных Oracle и выяснения, содержит ли она такие аннотации.

Сводные отчеты оценки содержат последующую информацию:

Schema tree view: перечень объектов начальной схемы базы данных Oracle.
Conversion rate: процентная толика инструкций, которые SSMA в состоянии конвертировать автоматом. В данном примере (рис. 1) SSMA может конвертировать 99,39 % всех инструкций и начальной схемы Oracle.
Object count: число объектов базы данных, отысканных в схеме Oracle и число объектов «с ошибками» (мы побеседуем о их чуток позднее).
Conversion Message summary:описание заморочек, найденных при передвижения начальной схемы Oracle.

SQL Server: Управление миграцией

Рис. 1. Оценка способности преобразования при передвижения базы данных Oracle

Существует три типа сообщений, с которыми вы сможете столкнуться при передвижения средствами SSMA: ошибка, предупреждение и информационное сообщение.

Сообщение об ошибке возникает, когда SSMA не в состоянии конвертировать объект базы данных либо аннотацию в объекте базы данных.
Предупреждение отображается, когда SSMA удается конвертировать аннотацию Oracle, но приобретенная в итоге преобразования аннотация в неких случаях может не возвращать тот же итог, что и начальная. А именно, SSMA конвертирует SUBSTR() в Oracle в аннотацию SUBSTRING() в SQL Server. Почти всегда SUBSTRING() возвращает такие же результаты. Но в неких ситуациях результаты могут отличаться. К примеру, функция SUBSTR() в Oracle поддерживает отрицательные позиции знаков в строке. В Oracle выражение SUBSTR(‘TechNet’,-3,3) возвратит «Net», а результатом выполнения SUBSTRING(‘TechNet’,-3,3) в SQL Server будет пустая строчка.
Информационное сообщение служит SSMA для информирования юзера об особенностях преобразования неких объектов.

В каждом сообщении об ошибке содержится ссылка на объект, вызвавший ошибку. Есть также представление, в каком можно конкретно сопоставить начальные аннотации слева и итог преобразования справа (рис. 2). Сообщение об ошибке также содержит оценку, сколько часов ручного преобразования обычно требуется для решения трудности.

SQL Server: Управление миграцией

Рис. 2. Примеры сообщений об ошибках передвижения

В большинстве организаций нередко делают оценку нескольких схем баз данных Oracle. Они употребляют общую скорость преобразования и общую оценку времени ручного преобразования для сопоставления и приоритизации схемы БД Oracle для передвижения.

Преобразование схемы БД

SSMA предоставляет много вариантов преобразования схемы. К примеру, можно поменять сравнение типов данных. SSMA предоставляет сравнение типов данных меж Oracle и SQL Server по дефлоту. Но вы сможете поменять сравнение типов в одной либо всех таблицах, для определенного объекта (такового как хранимая процедура либо функция) либо для определенного внедрения (к примеру, тип данных в столбце, в переменной либо в входном либо выходном параметре процедуры).

Преобразование схемы базы данных запускается щелчком кнопки Convert Schema. После чего можно перейти к другому объекту БД и сопоставить начальный и перевоплощенный объект схемы (рис. 3).

SQL Server: Управление миграцией

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

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

Вы также сможете разрешить делему и поменять аннотация конкретно в SSMA. К примеру, на рис. 3 приведена пользовательская функция TENURE, которая возвращает данные типа INTERVAL, который SQL Server не поддерживает. Вы сможете поменять тип возвращаемого значения на NUMBER (рис. 4) и повторить преобразование функции. Это решает делему и приводит к преобразованию типа возвращаемого значения к float(53).

SQL Server: Управление миграцией

Рис. 4. В SSMA можно поменять аннотации для разрешения заморочек несовместимости

Также можно поменять перевоплощенные аннотации. К примеру, можно поменять тип возвращаемого значения с float(53) на INT. Заметьте, что все конфигурации, выполняемые в SSMA, хранятся локально. Конфигурации, вносимые в начальные аннотации, не используются к производственной схеме базы данных Oracle. Аналогично любые конфигурации, вносимые в результирующие аннотации SQL Server, не сходу используются на сервере. Это позволяет заносить исправления и усовершенствования в перевоплощенную схему, не влияя на мотивированной сервер.

Чтоб развернуть перевоплощенную схему на мотивированном SQL Server, щелкните правой кнопкой имя схемы в окне SQL Server Metadata Explorer. Можно также сгенерировать сценарий сотворения всей схемы, который можно выполнить на мотивированном сервере (рис. 5).

SQL Server: Управление миграцией

Рис. 5. Развертывание перевоплощенной схемы на SQL Server

Миграция данных

После сотворения схемы БД на мотивированном сервере SQL Server можно использовать SSMA для передвижения данных Oracle. Но SSMA не единственная возможность передвижения данных — для этого можно также использовать службы SQL Server Integration Services (SSIS). Вкупе с тем, в SSMA можно при передвижения данных использовать то же сравнение типов, что и для преобразования схемы. SSMA также решает стандартные трудности передвижения данных из Oracle в SQL Server.

К примеру, Oracle поддерживает более широкий спектр типов дат, чем SQL Server. По дефлоту при обнаружении таковой ситуации SSMA инициирует ошибку передвижения данных. Можно настроить SSMA так, чтоб оно автоматом преобразовывало выходящие за границы спектра значения дат в NULL либо к наиблежайшей поддерживаемой SQL Server дате. Чтоб поменять этот параметр, поочередно изберите Tools/Project Setting/General/Data Migration (рис. 6).

SQL Server: Управление миграцией

Рис. 6. Варианты обработки ошибок передвижения данных

По окончании передвижения данных SSMA показывает отчет с указанием числа перенесенных строк, долю удачно смигрированных записей и время, потраченное на миграцию каждой таблицы (рис. 7).

SQL Server: Управление миграцией

Рис. 7. SSMA предоставляет полный отчет о передвижения данных

Проверка передвижения данных

После удачной передвижения базы данных нужно проверить ее. При передвижения с Oracle либо Sybase средство SSMA позволяет сопоставить начальную и смигрированную базы данных. Вы сможете задать набор проверок, после этого SSMA выполнит их в начальной и смигрированной базах данных. Оно сравнит результаты, также все конфигурации, которые проверки занесли в таблицы.

Чтоб задать проверку, изберите New Test Cases в меню Tester. Раскроется мастер сотворения проверок (Test Case Wizard), который позволит сделать проверочные испытания. Можно также избрать для проверки отдельные объекты БД. К примеру, есть процедура, которая именуется ADD_EMPLOYEE. Она вставляет новейшую запись в таблицу служащих, основываясь на значении, переданном во входном параметре. Определенные входные значения, которые должны употребляться в проверке, задаются на вкладке Call Values (рис. 8). Можно задать столько проверочных значений, сколько необходимо.

SQL Server: Управление миграцией

Рис. 8. Определение проверочных значений в мастере сотворения проверок

Кроме сопоставления проверочного выполнения SSMA может также инспектировать конфигурации в соответственной таблице. К примеру, при выполнении хранимой процедуры ADD_EMPLOYEE сервер SQL Server вставляет дополнительную строчку в таблицу EMPLOYEES. SSMA ассоциирует модифицированные строчки в таблице меж источником и приемником. По мере надобности можно также указать уровень детализации сопоставления (рис. 9).

SQL Server: Управление миграцией

Рис. 9. Определение базисных таблиц для сопоставления

Завершающий шаг определения проверки — задание дополнительных характеристик. Один из принципиальных характеристик — указание, нужно ли откатывать конфигурации, внесенные в таблицу в процессе проверки (рис. 10). В нашем примере при выполнении хранимой процедуры ADD_EMPLOYEE в обе базы данных — источника в Oracle и приемника в SQL Server — вносится новенькая запись. Если избрать вариант отката конфигураций в данных, по окончании проверки SSMA удалит вставленную запись.

SQL Server: Управление миграцией

Рис. 10. Определение характеристик проверки

Сделанную проверку можно запускать столько раз, сколько необходимо. При каждом запуске проверки вы будете получать отчет, содержащий сопоставление результатов (рис. 11).

SQL Server: Управление миграцией

Рис. 11. SSMA предоставляет полный отчет о результатах работы

SSMA предоставляет широкий набор средств автоматизации передвижения баз данных. Это средство можно использовать для оценки трудности базы данных, которую планируется мигрировать, преобразования схемы базы данных, решения фаворитных заморочек, возникающих при передвижения баз данных, передвижения данных из БД-источника и проверки смигрированной базы данных.

SSMA предназначен для передвижения в SQL Server, то также поддерживает прямую миграцию на SQL Azure (с баз данных MySQL, Sybase и Access). При передвижения в SQL Azure средство SSMA учитывает требования платформы SQL Azure. К примеру, в SQL Azure требуется, чтоб в таблицах был кластеризованный индекс. Если и начальной таблице нет основного ключа либо кластеризованного индекса, SSMA может автоматом добавить столбец ROWID и сделать на его базе кластеризованный индекс во время преобразования.

Загрузить SSMA можно с веб-сайта Microsoft SQL Server. Это средство не только лишь безвозмездно, но с ним предлагается бесплатная поддержка по электрической почте в Центре обслуживания и поддержки Microsoft. Подробнее об SSMA см. блог команды SSMA, где вы отыщите демо видеоклип и статьи с инструкциями, также управления по решению стандартных заморочек, возникающих в процессе передвижения.

Аналогичный товар: Комментирование на данный момент запрещено, но Вы можете оставить ссылку на Ваш сайт.

Комментарии закрыты.