Руководство по Миграция из SQL Server в Управляемый экземпляр SQL Azure по сети с помощью DMS

Azure Database Migration Service позволяет переносить базы данных из экземпляра SQL Server в Управляемый экземпляр SQL Azure с минимальным простоем. Сведения о других методах, которые могут потребовать некоторых действий вручную, см. в статье Перенос экземпляра SQL Server в Управляемый экземпляр SQL Azure.

В этом руководстве объясняется, как перенести базу данных AdventureWorks2016 из локального экземпляра SQL Server в Управляемый экземпляр SQL Azure с помощью Azure Database Migration Service с минимальным простоем.

Вы научитесь:

  • регистрировать поставщик ресурсов Azure DataMigration.
  • Создайте экземпляр Azure Database Migration Service.
  • создание проекта миграции и запуск миграции по сети с помощью Azure Database Migration Service;
  • Мониторинг миграции.
  • Когда будете готовы, выполните прямую миграцию.

Важно!

Чтобы выполнить миграцию из SQL Server в Управляемый экземпляр SQL Azure в подключенном режиме с помощью Azure Database Migration Service, поместите полную резервную копию базы данных и последующие резервные копии журналов в сетевую папку SMB, которую служба может использовать для переноса баз данных. Azure Database Migration Service не инициирует создание резервных копий, вместо этого он использует для миграции существующие резервные копии, которые уже могли быть созданы в рамках плана аварийного восстановления. Выбирайте резервные копии, используя параметр WITH CHECKSUM. Каждая резервная копия может быть записана в отдельный файл или в несколько файлов резервных копий. При этом добавление нескольких резервных копий (например, полной и журнала транзакций) на один носитель не поддерживается. Наконец, чтобы снизить вероятность возникновения потенциальных проблем, связанных с миграцией больших объемов резервных копий, можно использовать сжатые резервные копии.

Примечание

Чтобы выполнить сетевую миграцию с помощью Azure Database Migration Service, требуется создать экземпляр ценовой категории "Премиум".

Важно!

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

Важно!

Максимально ускорьте миграцию по сети, чтобы свести к минимуму риск прерывания работы из-за перенастройки экземпляра или планового обслуживания. Иначе процесс миграции придется повторить с самого начала. В случае планового обслуживания повторная попытка миграции откладывается на 36 часов.

Совет

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

В этой статье описан перенос данных из SQL Server в Управляемый экземпляр SQL по сети. Сведения о переносе в автономном режиме см. в статье Руководство. Миграция из SQL Server в Управляемый экземпляр SQL Azure в автономном режиме с помощью DMS.

Предварительные требования

Для работы с этим руководством вам потребуется следующее:

  • Скачайте и установите SQL Server 2016 или более поздней версии.

  • При установке SQL Server Express протокол TCP/IP отключен по умолчанию. Включите его, выполнив инструкции в статье Включение или отключение сетевого протокола сервера.

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

  • Создайте виртуальную сеть Microsoft Azure для Azure Database Migration Service с помощью модели развертывания Azure Resource Manager. Она обеспечивает подключение "сеть — сеть" к локальным исходным серверам через ExpressRoute или VPN. Изучите сетевые топологии для миграции в Управляемый экземпляр SQL с помощью Azure Database Migration Service. Дополнительные сведения см. в статье Документация по виртуальной сети, где особое внимание стоит уделить кратким руководствам с пошаговыми инструкциями.

    Примечание

    Если вы используете ExpressRoute с пиринговым подключением к сети, управляемой Майкрософт, во время настройки виртуальной сети добавьте в подсеть, в которой будет подготовлена служба, следующие конечные точки:

    • целевую конечную точку базы данных (например, конечная точка SQL, конечная точка Cosmos DB и т. д.);
    • конечную точку службы хранилища;
    • конечную точку служебной шины.

    Такая конфигурация вызвана тем, что у Azure Database Migration Service нет подключения к Интернету.

    Если у вас нет подключения типа "сеть — сеть" между локальной сетью и Azure, или если пропускная способность подключения "сеть — сеть" ограничена, рекомендуется использовать Azure Database Migration Service в гибридном режиме (Предварительная версия). Гибридный режим использует локальный рабочий процесс миграции вместе с экземпляром Azure Database Migration Service, который работает в облаке. Сведения о создании экземпляра Azure Database Migration Service в гибридном режиме см. в статье Создание экземпляра Azure Database Migration Service в гибридном режиме с помощью портала Azure.

    Важно!

    В отношении учетной записи хранения, используемой в процессе миграции, необходимо:

    • разрешить всем сетям доступ к учетной записи хранения;
    • Включите делегирование подсети для подсети MI и обновите правила брандмауэра учетной записи хранения, чтобы разрешить эту подсеть.
    • Вы не можете использовать учетную запись служба хранилища Azure с частной конечной точкой с Azure Database Migration Service.
  • Убедитесь, что правила группы безопасности сети для виртуальной сети не блокируют исходящий порт 443 ServiceTag для Служебной шины, службы хранилища и Azure Monitor. См. дополнительные сведения о фильтрации трафика, предназначенного для виртуальной сети, с помощью групп безопасности сети.

  • Настройте брандмауэр Windows для доступа к ядру исходной СУБД.

  • Откройте брандмауэр Windows, чтобы предоставить Azure Database Migration Service доступ к исходному серверу SQL Server. По умолчанию это TCP-порт 1433. Если ваш экземпляр по умолчанию прослушивает какой-либо другой порт, добавьте его в брандмауэр.

  • Если вы запустили несколько именованных экземпляров SQL Server, использующих динамические порты, вы можете включить службу обозревателя SQL и разрешить доступ к UDP-порту 1434 через брандмауэры. Это позволит службе Azure Database Migration Service подключиться к именованному экземпляру на исходном сервере.

  • Если перед исходными базами данных используется брандмауэр, его правила должны разрешать службе Azure Database Migration Service доступ к исходным базам данных для миграции и файлам SMB через порт 445.

  • Создайте Управляемый экземпляр SQL по инструкциям из статьи Краткое руководство. Создание управляемого экземпляра Управляемого экземпляра SQL.

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

  • Укажите сетевую папку SMB, содержащую все файлы полных резервных копий базы данных и файлы резервных копий журнала транзакций, которые могут использоваться службой Azure Database Migration Service для миграции базы данных.

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

  • Запишите имя пользователя и пароль учетной записи Windows, которой предоставлены полные права доступа к этой сетевой папке. Служба Azure Database Migration Service олицетворяет пользователя с этими учетными данными, чтобы отправить файлы резервных копий в контейнер службы хранилища Azure для операции восстановления.

  • Создайте идентификатор приложения Azure Active Directory, генерирующего ключ идентификатора приложения, который может использоваться службой DMS для подключения к целевому Управляемому экземпляру Базы данных SQL Azure и контейнеру службы хранилища Azure. Дополнительные сведения см. в статье Создание приложения Azure Active Directory и субъекта-службы с доступом к ресурсам с помощью портала.

    Примечание

    Идентификатор приложения, используемый Azure Database Migration Service, поддерживает проверку подлинности на основе секрета (пароля) для субъектов-служб. Проверка подлинности на основе сертификатов не поддерживается.

    Примечание

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

  • Создайте и запишите учетную запись хранения Azure с уровнем производительности "Стандартный", которая позволяет службе DMS передавать файлы резервной копии базы данных и использовать их для переноса баз данных. Убедитесь, что учетная запись хранения Azure создана в том же регионе, что и экземпляр службы DMS.

    Примечание

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

Регистрация поставщика ресурсов

Прежде чем создать свой первый экземпляр Database Migration Service, зарегистрируйте поставщик ресурсов Microsoft.DataMigration.

  1. Войдите на портал Azure. Выполните поиск по запросу Подписки и выберите этот пункт.

    Show portal subscriptions

  2. Выберите подписку, в которой нужно создать экземпляр Azure Database Migration Service, а затем щелкните Поставщики ресурсов.

    Show resource providers

  3. В поле поиска введите migration, а затем щелкните элемент Зарегистрировать рядом с Microsoft.DataMigration.

    Register resource provider

Создание экземпляра Azure Database Migration Service

  1. На домашней странице или в меню портала Azure щелкните элемент Создать ресурс. Найдите и выберите элемент Azure Database Migration Service.

    Azure Marketplace

  2. На экране Azure Database Migration Service выберите Создать.

    Create Azure Database Migration Service instance

    Выберите параметр Continue to use Azure Database Migration Service.

    Select Database Migration Service scenario

  3. На экране основных сведений Создание Migration Service сделайте следующее:

    • Выберите подписку.
    • Создайте группу ресурсов или выберите существующую.
    • Укажите имя для экземпляра Azure Database Migration Service.
    • Выберите расположение, в котором нужно создать экземпляр Azure Database Migration Service.
    • Выберите Azure в качестве режима службы.
    • Выберите ценовую категорию. Дополнительные сведения о ценовых категориях и затратах см. на странице с описанием цен.

    Configure Azure Database Migration Service instance basics settings

    • Нажмите Далее: сеть.
  4. На экране сети Создание Migration Service сделайте следующее:

    Configure Azure Database Migration Service instance networking settings

    • Выберите Проверить и создать, чтобы проверить сведения, а затем щелкните Создать, чтобы создать службу.

    • Через несколько секунд экземпляр службы Azure Database Migration Service будет создан и готов к использованию:

    Migration service created

Создание проекта миграции

После создания экземпляра службы найдите его на портале Azure, откройте и создайте проект миграции.

  1. В меню портала Azure выберите Все службы. Найдите и выберите элемент Службы Azure Database Migration Service.

    Locate all instances of Azure Database Migration Service

  2. На экране Службы Azure Database Migration Service выберите созданный экземпляр Azure Database Migration Service.

  3. Щелкните элемент Новый проект миграции.

    Locate your instance of Azure Database Migration Service

  4. На экране New migration project (Новый проект миграции) задайте имя для проекта, в текстовом поле Source server type (Тип исходного сервера) выберите SQL Server, в текстовом поле Target server type (Тип целевого сервера) выберите Управляемый экземпляр Базы данных SQL Azure, а затем в разделе Choose type of activity (Выберите тип действия) выберите Online data migration (Миграция данных по сети).

    Create Database Migration Service Project

  5. Выберите Создать и выполнить действие, чтобы создать проект и выполнить действие миграции.

Указание сведений об источнике

  1. На экране Выбор источника укажите сведения о подключении для исходного экземпляра SQL Server.

    Используйте для имени исходного экземпляра SQL Server полное доменное имя (FQDN). Если разрешение DNS-имен невозможно, можно использовать IP-адрес.

  2. Если на сервере не установлен доверенный сертификат, установите флажок Доверять сертификату сервера.

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

    Внимание!

    TLS-соединения, шифруемые с помощью самозаверяющего сертификата, не обеспечивают надежной защиты. Они уязвимы для атак "злоумышленник в середине". Не следует надеяться на защиту TLS с самозаверяющими сертификатами в рабочей среде или на серверах, подключенных к Интернету.

    Source Details

  3. Выберите Далее: выбор целевого объекта

Указание сведений о цели

  1. На экране Выбор целевого объекта укажите идентификатор приложения и ключ, которые экземпляр DMS будет использовать для подключения к целевому экземпляру Управляемого экземпляра SQL Azure и учетной записи хранения Azure.

    Дополнительные сведения см. в статье Создание приложения Azure Active Directory и субъекта-службы с доступом к ресурсам с помощью портала.

  2. Выберите подписку, содержащую целевой экземпляр Управляемого экземпляра SQL, а затем выберите целевой Управляемый экземпляр SQL Azure.

    Если Управляемый экземпляр SQL еще не подготовлен, щелкните эту ссылку, чтобы подготовить его. Когда Управляемый экземпляр SQL будет готов, вернитесь к этому проекту, чтобы выполнить миграцию.

  3. Укажите пользователя SQL и пароль для подключения к Управляемому экземпляру SQL.

    Select Target

  4. Нажмите Далее: выбор баз данных.

Указание базы данных — источника

  1. На экране Выбор баз данных выберите базу данных — источник для миграции.

Select Source Databases

Важно!

При использовании MSSQL Integration Services (SSIS), DMS не поддерживает перенос базы данных каталога для проектов или пакетов служб SSIS (SSISDB) из SQL Server в Управляемый экземпляр SQL. Но можно подготовить SSIS в Фабрике данных Azure (ADF) и повторно развернуть проекты или пакеты служб SQL Server Integration Services в целевой базе данных SQL Server Integration Services, размещенной в Управляемом экземпляре SQL. Дополнительные сведения о миграции пакетов SSIS см. в статье Перенос пакетов SQL Server Integration Services в Azure.

  1. Выберите Далее: настройка параметров миграции.

Настройка параметров миграции

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

    Параметр Описание
    Общая сетевая папка SMB Локальная сетевая папка SMB или общая папка Azure, содержащая файлы резервных копий базы данных и файлы резервных копий журнала транзакций, которые могут использоваться службой Azure Database Migration Service для миграции. Учетная запись службы, в которой выполняется исходный экземпляр SQL Server, должна иметь права записи и чтения для этой сетевой папки. Укажите полное доменное имя или IP-адреса сервера в сетевой папке, например "\\servername.domainname.com\backupfolder" или "\\IP-адрес\backupfolder". Для повышения производительности мы рекомендуем использовать отдельную папку для каждой переносимой базы данных. Путь к общей папке на уровне базы данных можно указать с помощью параметра Дополнительные параметры. Если возникают проблемы с подключением, см. раздел об общей папке SMB.
    User name Убедитесь, что пользователь Windows имеет полное право доступа к указанной ранее сетевой папке. Служба Azure Database Migration Service будет олицетворять пользователя с этими учетными данными, чтобы отправить файлы резервных копий в контейнер службы хранилища Azure для операции восстановления. При использовании файлового ресурса Azure следует использовать имя учетной записи хранения, предварительно указав в качестве имени пользователя AZURE\.
    Пароль Пароль для пользователя Если используется общая папка Azure, в качестве пароля следует указать ключ учетной записи хранения.
    Подписка учетной записи хранения Azure Выберите подписку, которая содержит учетную запись хранения Azure.
    Учетная запись хранения Azure Выберите учетную запись хранения Azure, в которую служба DMS может отправлять файлы резервной копии из общей сетевой папки SMB, а также использовать эту учетную запись для миграции базы данных. Рекомендуется выбрать учетную запись хранения в том же регионе, что и служба DMS для получения оптимальной производительности при передаче файлов.

    Configure Migration Settings

    Примечание

    Возможной причиной появления в Azure Database Migration Service ошибок "системная ошибка 53" или "системная ошибка 57" может быть отсутствие у Azure Database Migration Service доступа к общей папке Azure. При возникновении таких ошибок предоставьте доступ к хранилищу учетной записи из виртуальной сети.

    Важно!

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

  2. По завершении выберите Next: Сводка.

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

  1. На экране Сводка в текстовом поле Имя активности задайте имя действия миграции.

  2. Проверьте и подтвердите сведения, связанные с проектом миграции.

    Migration project summary

Запуск и мониторинг миграции

  1. Выберите Начать миграцию.

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

    Migration activity in progress

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

    Migration activity status

Выполнение прямой миграции

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

  1. Когда вы будете готовы выполнить миграцию базы данных по сети, щелкните Start Cutover (Запустить прямую миграцию).

  2. Остановите весь входящий трафик для баз данных-источников.

  3. Создайте [резервную копию заключительного фрагмента журнала], сделайте файл резервной копии доступным в сетевой папке SMB и подождите, пока восстановится окончательная резервная копия журнала транзакций.

    На том этапе для параметра Ожидающие изменения будет присвоено значение 0.

  4. Щелкните Подтвердить, а затем — Apply (Применить).

    Preparing to complete cutover

    Важно!

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

  5. Когда состояние миграции базы данных изменится на Завершено, подключите свои приложения к новому целевому экземпляру Управляемого экземпляра SQL.

    Cutover complete

Дополнительные ресурсы