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

Применимо к:Управляемый экземпляр SQL Azure

В этом руководстве рассказывается о переносе экземпляра SQL Server в Управляемый экземпляр SQL Azure.

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

  • SQL Server на виртуальных машинах
  • Amazon EC2 (эластичное вычислительное облако)
  • Amazon RDS (реляционная служба баз данных) для SQL Server
  • Google Compute Engine
  • Cloud SQL для SQL Server — GCP (Google Cloud Platform)

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

Migration process flow

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

Чтобы перенести SQL Server в Управляемый экземпляр SQL Azure, сделайте следующее.

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

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

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

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

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

Как вариант, для оценки текущей ИТ-инфраструктуры можно воспользоваться пакетом Набор средств оценки и планирования Майкрософт ("MAP Toolkit"). Этот набор средств представляет собой мощный инструмент для инвентаризации, оценки и создания отчетов, позволяющий упростить планирование миграции.

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

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

Steps for migration to Azure SQL Managed Instance

Оценка

Примечание.

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

Определите, соответствует ли управляемый экземпляр SQL требованиям базы данных приложения. Управляемый экземпляр SQL предназначен для обеспечения простого переноса методом lift-and-shift для большинства имеющихся приложений, которые используют SQL Server. Однако иногда могут потребоваться еще не поддерживаемые функции или возможности, а затраты на реализацию обходного пути слишком высоки.

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

Для оценки баз данных можно использовать расширение миграции SQL Azure для Azure Data Studio:

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

  1. Откройте расширение миграции SQL Azure для Azure Data Studio.
  2. Подключение исходному экземпляру SQL Server
  3. Нажмите кнопку "Миграция в Azure SQL " в мастере миграции SQL Azure в Azure Data Studio
  4. Выберите базы данных для оценки, а затем нажмите кнопку "Далее"
  5. Выберите целевой объект SQL Azure, в этом случае Управляемый экземпляр SQL Azure
  6. Щелкните "Вид" или "Выбрать", чтобы просмотреть отчет об оценке
  7. Найдите проблемы с блокировкой миграции и четностью функций. Отчет об оценке можно также экспортировать в файл, которым вы сможете поделиться с другими командами или сотрудниками своей организации.
  8. Определите уровень совместимости баз данных, который позволит свести к минимуму необходимый объем работ на этапе после миграции.

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

  1. Откройте расширение миграции SQL Azure для Azure Data Studio.
  2. Подключение исходному экземпляру SQL Server
  3. Нажмите кнопку "Миграция в Azure SQL " в мастере миграции SQL Azure в Azure Data Studio
  4. Выберите базы данных для оценки, а затем нажмите кнопку "Далее"
  5. Выберите целевой объект SQL Azure, в этом случае Управляемый экземпляр SQL Azure
  6. Перейдите к разделам рекомендаций Azure, щелкните " Получить рекомендацию Azure"
  7. Теперь выберите "Собрать данные о производительности". Выберите папку на локальном компьютере, чтобы сохранить журналы производительности, а затем нажмите кнопку "Пуск".
  8. Через 10 минут Azure Data Studio указывает, что рекомендация доступна для Управляемый экземпляр SQL Azure.
  9. Проверьте Управляемый экземпляр SQL Azure карта на целевой панели SQL Azure, чтобы просмотреть рекомендации по Управляемый экземпляр SQL Azure SKU

Дополнительные сведения см. в руководстве по миграции SQL Server в Управляемый экземпляр SQL Azure в Интернете с помощью Azure Data Studio.

Дополнительные сведения см. в руководстве по миграции SQL Server в Управляемый экземпляр SQL Azure в автономном режиме с помощью Azure Data Studio.

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

Масштабируемые оценки и анализ

Расширение миграции SQL Azure для Azure Data Studio и службы "Миграция Azure" поддерживает выполнение масштабируемых оценок и консолидацию отчетов об оценке для анализа.

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

Важно!

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

Развертывание в управляемый экземпляр оптимального размера

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

На основе информации, полученной на этапе обнаружения и оценки, создайте целевой управляемый экземпляр SQL подходящего размера. Это можно сделать с помощью портала Azure, PowerShell или шаблона Azure Resource Manager (ARM).

Управляемый экземпляр SQL предназначен для локальных рабочих нагрузок, которые планируется перенести в облако. Он представляет модель приобретения, которая обеспечивает большую гибкость при выборе правильного уровня ресурсов для рабочих нагрузок. В локальной среде вы, вероятно, изменяли размер этих рабочих нагрузок с помощью физических ядер и пропускной способности ввода-вывода. Модель приобретения для управляемого экземпляра основана на виртуальных ядрах, а дополнительное хранилище и операции ввода-вывода доступны отдельно. Модель на основе виртуального ядра — это более простой способ понять требования к вычислению в облаке по сравнению с используемым в локальной среде. Эта модель позволяет выбирать оптимальный размер целевой среды в облаке. Ниже приведены некоторые общие рекомендации, которые помогают выбрать правильный уровень служб и характеристики.

  • На основе базовых показателей загрузки ЦП можно подготовить управляемый экземпляр, соответствующий количеству ядер, которое использовалось в SQL Server, учитывая, что характеристики ЦП могут быть масштабированы в соответствии с характеристиками виртуальных машин, где установлен управляемый экземпляр.
  • Исходя из базовых показателей использования памяти, выберите уровень служб, который соответствует памяти. Объем памяти не может быть выбран напрямую, поэтому необходимо выбрать управляемый экземпляр с объемом виртуальных ядер, которые имеют соответствующую память (например, 5,1 ГБ/vCore в стандартной серии (5-го поколения)).
  • Исходя из базовых показателей задержки операций ввода-вывода файловой системы, выберите уровень служб общего назначения (задержка более 5 мс) или критически важный для бизнеса уровень (задержка менее 3 мс).
  • Исходя из базовых показателей пропускной способности, предварительно выделите размер данных или файлов журналов для обеспечения ожидаемой производительности ввода-вывода.

Можно выбрать ресурсы вычислений и хранения во время развертывания, а затем изменить их без простоя вашего приложения на портале Azure:

Managed Instance Sizing

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

Важно!

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

Миграция

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

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

Управляемый экземпляр SQL предназначен для пользовательских сценариев, требующих массового переноса баз данных из реализаций локальной базы данных или базы данных Azure. Они являются оптимальным выбором, если вам нужно выполнить перенос методом lift-and-shift для серверной части приложение, которая регулярно используют уровень экземпляра и (или) межбазовые функции. В этом случае вы можете переместить весь экземпляр в соответствующую среду в Azure без необходимости изменять архитектуру приложений.

Чтобы переместить экземпляры SQL, необходимо тщательно спланировать следующее:

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

Управляемый экземпляр Azure — это управляемая служба, позволяющая выполнять некоторые из обычных действий администратора базы данных на платформе, так как они встроены. Поэтому некоторые данные уровня экземпляра не нужно переносить (например, задания обслуживания для регулярных резервных копий или конфигурацию Always On). Высокий уровень доступности обеспечивается по умолчанию.

В этой статье рассматриваются два рекомендуемых варианта миграции:

  • Расширение миграции Azure SQL для Azure Data Studio — миграция с почти нулевым временем простоя.
  • Исходная RESTORE DATABASE FROM URL использует исходные резервные копии из SQL Server. Использование этого метода сопряжено с некоторым простоем.

В этом руководством описаны два самых популярных варианта: Azure Database Migration Service (DMS) и собственные возможности резервного копирования и восстановления.

Другие средства миграции см. в разделе Сравнение вариантов миграции.

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

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

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

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

Одна из основных возможностей Управляемого экземпляра SQL Azure для быстрой и простой миграции баз данных — собственная функция восстановления файлов резервных копий базы данных (.bak), хранящихся в службе хранилища Azure. Резервное копирование и восстановление — это асинхронные операции, которые зависят от размера базы данных.

На следующей схеме представлен общий обзор процесса:

Diagram shows SQL Server with an arrow labeled BACKUP / Upload to URL flowing to Azure Storage and a second arrow labeled RESTORE from URL flowing from Azure Storage to a SQL Managed Instance.

Примечание.

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

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

Шаг Ядро и версия SQL Метод резервного копирования и восстановления
Помещение резервной копии в службу хранилища Azure До 2012 с пакетом обновления 1 (SP1) и накопительным обновлением 2 (CU2) Переча BAK-файла непосредственно в службу хранилища Azure
От 2012 SP1 CU2 до 2016 Прямое резервное копирование с использованием устаревшего синтаксиса WITH CREDENTIAL
2016 и более поздние версии Прямое резервное копирование с использованием синтаксиса WITH SAS CREDENTIAL
Восстановление из службы хранилища Azure в управляемый экземпляр Восстановление на основе URL-адреса с помощью учетных данных SAS

Важно!

  • При миграции базы данных, защищенной с помощью прозрачного шифрования данных (TDE), в управляемый экземпляр с использованием параметра собственного восстановления необходимо перед восстановлением базы данных перенести соответствующий сертификат из локального или виртуальной машины Azure SQL Server. Пошаговая процедура приведена в статье о переносе сертификата защищенной TDE базы данных в управляемый экземпляр.
  • Восстановление системных баз данных не поддерживается. Чтобы перенести объекты уровня экземпляра (хранящиеся в базах данных master или msdb), рекомендуется создать для них скрипт и запустить скрипты T-SQL в экземпляре среды назначения.

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

  1. Резервное копирование базы данных в Хранилище BLOB-объектов Azure. Например, используйте резервное копирование на URL-адрес в SQL Server Management Studio. Используйте средство Microsoft Azure для поддержки баз данных до версии SQL Server 2012 SP1 CU2.

  2. Подключитесь к Управляемому экземпляру SQL Azure через SQL Server Management Studio.

  3. Создайте учетные данные, используя подписанный URL-адрес для доступа к учетной записи хранилища BLOB-объектов Azure с резервными копиями базы данных. Например:

    CREATE CREDENTIAL [https://mitutorials.blob.core.windows.net/databases]
    WITH IDENTITY = 'SHARED ACCESS SIGNATURE'
    , SECRET = 'sv=2017-11-09&ss=bfqt&srt=sco&sp=rwdlacup&se=2028-09-06T02:52:55Z&st=2018-09-04T18:52:55Z&spr=https&sig=WOTiM%2FS4GVF%2FEEs9DGQR9Im0W%2BwndxW2CQ7%2B5fHd7Is%3D'
    
  4. Восстановите резервную копию из контейнера BLOB-объектов службы хранилища Azure. Например:

    RESTORE DATABASE [TargetDatabaseName] FROM URL =
      'https://mitutorials.blob.core.windows.net/databases/WideWorldImporters-Standard.bak'
    
  5. После восстановления просмотрите базу данных в обозревателе объектов в SQL Server Management Studio.

Дополнительные сведения об этом варианте миграции см. в статье Восстановление базы данных в Управляемом экземпляре SQL Azure с помощью SSMS.

Примечание.

Операция восстановления базы данных является асинхронной и повторяемой. В случае разрыва подключения или истечения времени ожидания в SQL Server Management Studio может возникнуть ошибка. База данных SQL Azure будет пытаться восстановить базу данных в фоновом режиме, и вы сможете отслеживать ход восстановления с помощью представлений sys.dm_exec_requests и sys.dm_operation_status.

Синхронизация данных и прямая миграция

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

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

Важно!

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

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

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

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

Мониторинг и исправление приложений

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

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

Тестирование переноса базы данных включает следующие действия.

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

Использование дополнительных функций

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

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

Некоторые функции SQL Server доступны только после перевода базы данных на последний уровень совместимости (150).

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