Руководство по миграции: перенос данных из SQL Server в SQL Server на виртуальных машинах Azure

Применимо к:SQL Server на виртуальной машине Azure

Из этого руководства вы узнаете, как обнаруживать и оценивать пользовательские базы данных, а также переносить их из SQL Server в экземпляр SQL Server на виртуальных машинах Azure с применением средств и методов на основе ваших требований.

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

  • SQL Server на виртуальных машинах (ВМ).
  • Amazon Web Services (AWS) EC2.
  • Служба реляционной базы данных Amazon (AWS RDS).
  • Compute Engine (Google Cloud Platform — GCP).

Еще сведения о дополнительных стратегиях миграции см. в статье SQL Server — обзор миграции виртуальной машины. Другие рекомендации по миграции см. в руководствах по переносу баз данных в Azure.

Diagram that shows a migration process flow.

Необходимые компоненты

Для перехода на SQL Server на виртуальных машинах Azure требуются следующие ресурсы.

Подготовка к миграции

Перед началом миграции необходимо найти топологию среды SQL и оценить допустимость предполагаемой миграции.

Рекомендуемые

Служба Azure Migrate оценивает миграционную пригодность локальных компьютеров, определяет размер на основе производительности и рассчитывает затраты на работу локальных виртуальных машин. Чтобы спланировать миграцию, используйте службу "миграция Azure" для обнаружения существующих источников данных и сведения о функциях, используемых экземплярами SQL Server. Этот процесс включает в себя сканирование сети для обнаружения всех экземпляров SQL Server в организации, а также их версий и используемых функций.

Важно!

При выборе целевой виртуальной машины Azure для экземпляра SQL Server необходимо учитывать рекомендации по производительности SQL Server на виртуальных машинах Azure.

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

Оценка

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

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

Примечание.

Если вы оцениваете весь объем данных SQL Server в масштабе VMware, используйте службу "Миграция Azure" для получения рекомендаций по развертыванию SQL Azure, целевого размера и ежемесячных оценок.

Оценка пользовательских баз данных

Расширение миграции Azure SQL для Azure Data Studio предоставляет удобные возможности на основе мастера для оценки, получения рекомендаций Azure и переноса локальных баз данных SQL Server в SQL Server на виртуальных машинах Azure. Кроме выявления любых проблем, блокирующих миграцию, или предупреждений миграции, расширение также включает для рекомендаций Azure возможность сбора данных о производительности баз данных, чтобы рекомендовать подходящий размер SQL Server на виртуальных машинах Azure в соответствии с требованиями вашей рабочей нагрузки к производительности (за наименьшую цену).

Дополнительные сведения о рекомендациях Azure см. в статье Получение рекомендаций Azure по выбору подходящего размера для локальных баз данных SQL Server.

Важно!

Чтобы выполнить оценку баз данных с помощью расширения миграции Azure SQL, убедитесь, что учетным данным, используемым для подключения исходного экземпляра SQL Server, назначена роль сервера sysadmin или разрешение CONTROL SERVER.

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

Оценка приложений

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

Во время оценки пользовательских баз данных используйте Помощник по миграции данных для импорта сохраненных файлов трассировки или файлов набора средств миграции доступа к данным.

Оценка в масштабе

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

Для получения сводки отчетов в больших пространствах теперь можно также консолидировать оценки Помощника по миграции данных в службе Миграция Azure.

Обновление баз данных с помощью Помощника по миграции данных

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

Для устаревших функций можно выбрать "Запуск пользовательских баз данных" в исходном режиме совместимости, если вы хотите избежать их изменения и ускорить миграцию. Это действие предотвратит Обновление совместимости базы данных до тех пор, пока не будут устранены устаревшие элементы.

Внимание

Не все версии SQL Server поддерживают все режимы совместимости. Убедитесь, что целевая версия SQL Server поддерживает выбранную совместимость с базой данных. Например, SQL Server 2019 не поддерживает базы данных с совместимостью уровня 90 (то есть SQL Server 2005). Эти базы данных потребуют, по крайней мере, обновления до уровня совместимости 100.

Миграция

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

В следующих разделах приведены варианты выполнения миграции в порядке предпочтения.

Миграция с использованием расширения миграции Azure SQL для Azure Data Studio (минимальное время простоя)

Чтобы выполнить миграцию с минимальным временем простоя с помощью Azure Data Studio, следуйте приведенным ниже общим инструкциям. Подробный пошаговый учебник см. здесь: Перенос SQL Server в SQL Server на виртуальной машине Azure в интерактивном режиме с помощью Azure Data Studio.

  1. Скачайте и установите Azure Data Studio и расширение миграции Azure SQL.
  2. Запустите мастер "Миграция в Azure SQL" в расширении в Azure Data Studio.
  3. Выберите базы данных для оценки и проверьте готовность к миграции или проблемы (при их наличии). Вы также можете собрать данные производительности и получить рекомендацию Azure по выбору подходящего размера.
  4. Выберите свою учетную запись Azure и целевой экземпляр SQL Server на виртуальных машинах Azure в подписке.
  5. Выберите расположение резервных копий базы данных. Резервные копии базы данных могут находиться в локальной сетевой папке или в контейнере Хранилище BLOB-объектов Azure.
  6. Создайте экземпляр Azure Database Migration Service с помощью мастера в Azure Data Studio. Если вы ранее создали Службу миграции базы данных Azure с помощью Azure Data Studio, вы можете повторно использовать то же самое при необходимости.
  7. Необязательно. Если резервные копии находятся в локальной сетевой папке, скачайте локальную среду выполнения интеграции и установите ее на компьютере, который может подключаться к исходному экземпляру SQL Server и расположению, содержащему файлы резервной копии.
  8. Начните миграцию базы данных и отслеживайте ход выполнения в Azure Data Studio. Вы также можете отслеживать ход выполнения в разделе ресурса Azure Database Migration Service на портале Azure.
  9. Выполните прямую миграцию.
    1. Остановите все входящие транзакции в исходной базе данных.
    2. Внесите изменения в конфигурацию приложения, указав целевую базу данных в SQL Server на виртуальной машине Azure.
    3. Перенесите все конечные фрагменты резервных копий журнала исходной базы данных в указанное расположение резервной копии.
    4. Убедитесь, что все резервные копии базы данных имеют состояние Восстановлено на странице сведений о мониторинге.
    5. На странице сведений о мониторинге щелкните Выполнить переключение.

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

Для выполнения стандартной миграции с помощью резервного копирования и восстановления выполните следующие действия.

  1. Настройте подключение к SQL Server на виртуальных машинах Azure в соответствии с вашими требованиями. Дополнительные сведения см. в статье Подключение к виртуальной машине SQL Server в Azure (диспетчер ресурсов).
  2. Приостановите или остановите все приложения, использующие базы данных, предназначенные для миграции.
  3. Убедитесь, что пользовательские базы данных неактивны, воспользовавшись режимом одного пользователя.
  4. Создайте полную резервную копию базы данных в локальном расположении.
  5. Скопируйте локальные файлы резервных копий на виртуальную машину с помощью удаленного рабочего стола, Azure Data Explorer или служебной программы командной строки AzCopy. (Рекомендуется использовать резервные копии размером более 2 ТБ.)
  6. Восстановите резервные копии всей базы данных в SQL Server на виртуальных машинах Azure.

Отключение и подключение с использованием URL-адреса

Отключите базу данных и файлы журнала и передайте их в хранилище BLOB-объектов Azure. Затем подключите к виртуальной машине Azure базу данных по URL-адресу. Используйте этот метод, если физические файлы базы данных должны находиться в хранилище BLOB-объектов. Иногда это полезно для очень больших баз данных. Для миграции пользовательской базы данных с помощью этого ручного метода выполните указанные ниже общие действия.

  1. Отключите файлы базы данных от локального экземпляра базы данных.
  2. Скопируйте отключенные файлы базы данных в хранилище BLOB-объектов Azure с помощью служебной программы командной строки AZCopy.
  3. Подключите файлы базы данных из URL-адреса Azure к экземпляру SQL Server в виртуальной машине Azure.

Преобразование в виртуальную машину, отправка по URL-адресу и развертывание в качестве новой виртуальной машины

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

  1. Преобразуйте физические компьютеры или виртуальные машины в виртуальные жесткие диски Hyper-V.
  2. Отправьте VHD-файлы в службу хранилища Azure с помощью командлета Add-AzureVHD.
  3. Разверните новую виртуальную машину на базе отправленного VHD-файла.

Примечание.

Чтобы перенести все приложение, рассмотрите возможность использования Azure Site Recovery.

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

Доставка журналов реплицирует файлы журналов транзакций из локальной среды в экземпляр SQL Server на виртуальной машине Azure. Этот параметр обеспечивает минимальное время простоя во время отработки отказа и меньше затрат на конфигурацию, чем настройка группы доступности AlwaysOn.

Дополнительные сведения см. в разделе "Таблицы доставки журналов" и "Хранимые процедуры".

Отправка жестких дисков

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

Миграция объектов за пределы пользовательских баз данных

Для комфортной работы с пользовательскими базами данных после миграции могут потребоваться дополнительные объекты SQL Server.

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

Компонент Компонент Способы миграции
Базы данных Модель Написание сценариев в SQL Server Management Studio.
База данных tempdb Планируйте переход tempdb на временный диск виртуальной машины Azure (SSD)) для повышения производительности. Обязательно выберите размер виртуальной машины с достаточным локальным SSD для размещения.tempdb
Пользовательские базы данных с FileStream Используйте методы резервного копирования и восстановления для миграции. Помощник по миграции данных не поддерживает базы данных с FileStream.
Безопасность Имена входа SQL Server и Windows Используйте Помощник по миграции данных для переноса имен входа пользователей.
Роли SQL Server Написание сценариев в SQL Server Management Studio.
Поставщики служб шифрования Рекомендуемое преобразование для использования Azure Key Vault. В этой процедуре используется поставщик ресурсов виртуальной машины SQL.
Объекты сервера Устройства резервного копирования Замените на резервную копию базы данных с помощью Azure Backup или создайте резервные копии в службе хранилища Azure (SQL Server 2012 SP1 CU2+). В этой процедуре используется поставщик ресурсов виртуальной машины SQL.
Связанные серверы Написание сценариев в SQL Server Management Studio.
Триггеры сервера Написание сценариев в SQL Server Management Studio.
Репликация Локальные публикации Написание сценариев в SQL Server Management Studio.
Локальные подписчики Написание сценариев в SQL Server Management Studio.
PolyBase PolyBase Написание сценариев в SQL Server Management Studio.
Управление Database Mail Написание сценариев в SQL Server Management Studio.
Агент SQL Server Работы Написание сценариев в SQL Server Management Studio.
видны узлы Написание сценариев в SQL Server Management Studio.
Операторы Написание сценариев в SQL Server Management Studio.
Прокси Написание сценариев в SQL Server Management Studio.
Операционная система Файлы, общие папки Запишите любые другие файлы или общие папки, используемые серверами SQL, и выполните репликацию на целевой объект виртуальных машин Azure.

После миграции

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

Исправление приложений

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

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

Выполнение тестов

Подход теста к миграции базы данных состоит из следующих действий:

  1. Разработка проверочных тестов. Чтобы протестировать перенос базы данных, необходимо использовать SQL-запросы. Создайте проверочные запросы, которые будут выполняться в исходной и целевой базах данных. Проверочные запросы должны охватывать всю определенную ранее область.
  2. Настройка тестовой среды. Тестовая среда должна содержать копию исходной и целевой баз данных. Не забудьте изолировать тестовую среду.
  3. Выполнение проверочных тестов. Выполните проверочные тесты в исходной и целевой базах данных, а затем проанализируйте результаты.
  4. Выполнение тестов производительности: запустите тесты производительности для исходной и целевой баз данных, а затем проанализируйте и сравните результаты.

Совет

Используйте Database Experimentation Assistant, чтобы помочь в оценке производительности целевого сервера SQL.

Оптимизация

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

Для получения дополнительных сведений об этих проблемах и мерах по их устранению см. следующие разделы.

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

Чтобы проверить доступность служб, которые применяются к SQL Server, см. сведения в центре глобальной инфраструктуры Azure.

Матрицу служб и средств, предоставляемых корпорацией Майкрософт и сторонними разработчиками для оказания помощи с разными сценариями переноса баз данных и данных, а также для специализированных задач, см. в статье Службы и инструменты для переноса данных.

Дополнительные сведения о сервере Azure SQL Server см. в следующих разделах.

Структура и цикл внедрения миграций в облако подробнее описаны следующих статьях.

Сведения о лицензировании см. в следующих разделах.

Чтобы оценить уровень доступа к приложениям, см. Data Access Migration Toolkit (предварительная версия).

Дополнительные сведения об A/B-тестировании на уровне доступа к данным см. раздел Database Experimentation Assistant — обзор.