Оценка и преобразование баз данных

Завершено

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

У вас есть активные серверы баз данных под управлением SQL Server 2000, SQL Server 2008 и SQL Server 2012.

Некоторые базы данных может потребоваться перенести в существующие экземпляры SQL Server 2012 или SQL Server 2016. Необходимо срочно обновить неподдерживаемые версии. Вы решаете изучить все возможные варианты, чтобы сразу приступить к работе, как только проект будет утвержден.

В этом разделе мы рассмотрим основные пути обновления для разных версий SQL Server.

Доступные пути обновления для разных версий

Чем старше обновляемая база данных, тем меньше доступных вариантов. Как упоминалось ранее, если вы хотите обновить базы данных SQL Server 2000, необходимо выполнить промежуточное обновление до SQL Server 2008 перед переходом на любую более позднюю версию.

Резервное копирование и восстановление

Резервное копирование и восстановление можно использовать для любой версии SQL Server от 2005 до 2016. Резервное копирование и восстановление любой из системных баз данных, таких как master, model, msdb или temp, невозможно. Создайте резервную копию базы данных с исходного сервера и восстановите ее на целевом сервере, а затем измените совместимость базы данных. Например, чтобы изменить совместимость базы данных с именем Customer Services на SQL Server 2016, выполните следующую команду:

ALTER DATABASE [CustomerServices] SET COMPATIBILITY_LEVEL = 130

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

Массовая загрузка

Начиная с версии SQL Server 2005, можно использовать операцию массовой загрузки для копирования данных в целевую базу данных. Создав базу данных на целевом сервере, вы можете использовать программу массового копирования (BCP) для запуска скрипта, копирующего данные. BCP — это эффективное решение для копирования больших объемов данных. Если вы не знакомы с написанием скриптов BCP, найдите время, чтобы научиться этому.

Репликация транзакций

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

  • Параллельно. С параллельной реплика tion вы создаете новую параллельную среду с целевой версией SQL Server. Затем вы перемещаете базы данных, имена для входа, запланированные задания и другие объекты в новую среду.
  • На месте: обновление реплика на месте заменяет существующую установку и обновляет как системные, так и пользовательские базы данных.

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

Группы доступности

Если вы используете группы доступности Always On, появившиеся в SQL Server 2012, можно выполнить отработку отказа на вторичный сервер с SQL Server 2014 или более поздней версией. Первичный сервер должен работать под управлением SQL Server 2012 с пакетом обновления 2 (SP2) или более поздней версии. Отработка отказа может выполняться как вручную, так и автоматически. После того как будет выполнена отработка отказа в более позднюю версию и старая версия SQL Server станет вторичным сервером, она не сможет получать изменения с первичного сервера.

Зеркальное отображение базы данных

С помощью зеркального отображения базы данных можно обновлять участников, работающих под управлением SQL Server 2008 с пакетом обновления 3 (SP3) и SQL Server 2008 R2 с пакетом обновления 2 (SP2) или более поздней версии, до зеркала с SQL Server 2014 или более поздней версии. Как и с группами доступности, после того как будет выполнена отработка отказа в более новую версию SQL Server и старая версия станет зеркалом, она не будет получать изменений от участника.

доставка журналов;

Вы можете использовать доставку журналов для обновления, если субъект работает под управлением SQL Server 2008 с пакетом обновления 3 (SP3), SQL Server 2008 R2 с пакетом обновления 2 (SP2) или более поздней версии до дополнительного запуска SQL Server 2014 или более поздней версии. После того как будет выполнена отработка отказа в более новую версию SQL Server, старая версия, ставшая вторичным сервером, не будет получать изменения с первичного сервера.

Помощник по миграции данных

Помощник по миграции данных (DMA) поддерживает версии SQL Server начиная с 2005. При использовании помощника вы подключаетесь к экземпляру и выбираете базу данных, которую планируется обновить. Вы сообщаете помощник целевой версии SQL Server и анализирует размер и схему базы данных. Помощник также предоставляет рекомендации по обновлению. После анализа DMA представляет отчет о совместимости, в котором приводятся критические изменения, изменения поведения и устаревшие функции, требующие внимания.

Screenshot of the Data Migration Assistant with the New assessment dialog opened.

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

Выбор метода обновления

В вашей юридической компании вам следует начать обновление баз данных с SQL Server 2000 до SQL Server 2008 с помощью резервного копирования и восстановления. Убедитесь, что уровень совместимости базы данных установлен на 100 после миграции, чтобы его можно было впоследствии обновить.

После первоначального обновления с SQL Server 2000 все базы данных имеют версию SQL Server 2008 или более позднюю, но ситуация по-прежнему сложная.

Самым простым и последовательным методом обновления всех этих баз данных является использование средства DMA, которое позволяет обновить любую базу данных, размещенную в SQL Server 2005 и более поздних версиях. Это средство предоставляет полный список проблем совместимости, которые необходимо устранить перед обновлением базы данных. Ваша команда может устранить все проблемы из списка, прежде чем выполнять обновление с помощью DMA.

Существуют различные методы обновления серверов SQL Server. Выбираемый путь зависит от обновляемой версии и наличия механизма отработки отказа, который необходимо использовать для обновления. DMA поддерживает обновление баз данных, начиная с SQL Server 2005. При наличии различных версий баз данных в среде это средство идеально подходит для централизованного обновления.

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