Обзор миграции из SQL Server в Базу данных Azure SQL

Применимо к:База данных 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)

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

Обзор

База данных SQL Azure является рекомендуемым целевым вариантом для рабочих нагрузок SQL Server, которым требуется полностью управляемая платформа как услуга (PaaS). База данных SQL поддерживает большинство функций управления базами данных. Также она обладает встроенными ресурсами высокой доступности, интеллектуальной обработки запросов, масштабируемости и производительности, которые отвечают требованиям приложений разных типов.

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

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

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

Обязательно ознакомьтесь с функциями ядра СУБД SQL Server, доступными в Базе данных SQL Azure, чтобы проверить возможность поддержки целевого объекта миграции.

Рекомендации

Ключевые факторы, которые следует учитывать при оценке вариантов миграции, следующие.

  • Количество серверов и баз данных.
  • Размер баз данных.
  • Допустимый простой бизнеса в процессе миграции.

В вариантах миграции, рассмотренных в этом руководстве, учтены перечисленные факторы. Длительность миграции логических данных в Базу данных SQL Azure может зависеть как от количества объектов в базе данных, так и от размера базы данных.

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

Выбор подходящего целевого объекта

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

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

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

Модели приобретения: доступные варианты — это виртуальное ядро, единица транзакций базы данных (DTU) и бессерверные модели приобретения.

  • Модель виртуальное ядро дает возможность выбрать количество виртуальных ядер для Базы данных SQL Azure. Это простейший вариант при переводе из локального SQL Server. Это единственный вариант, который поддерживает экономию затрат на лицензии и Преимущество гибридного использования Azure.
  • Модель DTU абстрагирует базовые ресурсы вычислений, памяти и ввода/вывода, формируя смешанную DTU.
  • Бессерверная модель предназначена для рабочих нагрузок, в которых необходимо автоматическое масштабирование по запросу с выставлением счетов на оплату вычислительных ресурсов за секунду использования. Уровень бессерверных вычислений автоматически ставит базы данных на паузу в неактивные периоды (когда выставляются счета только за хранение). Работа баз данных автоматически возобновляется, когда восстанавливается активность.

Уровни служб: выбирается один из трех уровней служб, предназначенных для разных типов приложений.

  • Уровень служб общего назначения или уровня "Стандартный" предлагает сбалансированный бюджетный вариант с вычислительными ресурсами и хранилищем, подходящим для доставки приложений на средних и нижних уровнях. Избыточность встроена на уровне хранилища для обеспечения восстановления после сбоев. Этот вариант рассчитан на большинство рабочих нагрузок баз данных.
  • уровень служб критически важный для бизнеса/Premium предназначен для высокоуровневых приложений, требующих высокой скорости транзакций, низкой задержки ввода-вывода и высокого уровня устойчивости. Вторичные реплики доступны для отработки отказов и разгрузки рабочих нагрузок считывания.
  • Уровень служб гипермасштабирования предназначен для всех клиентов, которым требуется более высокая производительность и доступность, быстрое резервное копирование и восстановление, а также быстрое хранилище и масштабируемость вычислений. Это включает клиентов, которые перемещаются в облако для модернизации своих приложений, а также клиентов, которые уже используют другие уровни служб в База данных SQL Azure. Уровень служб "Гипермасштабирование" поддерживает широкий спектр рабочих нагрузок базы данных от чистой OLTP до чистой аналитики. Он оптимизирован для рабочих нагрузок OLTP и гибридной транзакции и аналитической обработки (HTAP).

Важно!

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

Вариант с использованием виртуальной машины SQL Server

Учитывая требования бизнеса, SQL Server на виртуальных машинах Azure может оказаться более подходящим целевым объектом, чем База данных SQL Azure.

Если бизнес отвечает одному из следующих условий, рассмотрите возможность перехода на SQL Server на виртуальной машине (VM).

  • Необходим прямой доступ к ОС или файловой системе, например, для установки сторонних или настраиваемых агентов на одной виртуальной машине с SQL Server.
  • Имеется строгая зависимость от функций, которые пока еще не поддерживаются, например FileStream/FileTable, PolyBase, транзакции между несколькими экземплярами.
  • Необходимо использовать определенную версию SQL Server (например, 2012).
  • Требования к вычислениям намного ниже того, что предлагается управляемым экземпляром (например, одно виртуальное ядро), а консолидация базы данных неприемлема.

Средства миграцииСредства миграции

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

Технология Description
Миграция Azure Эта служба Azure помогает выявить и оценить пространство данных SQL в большом масштабе на VMware. Она выдает рекомендации по развертыванию Azure SQL, определению целевых размеров и примерных ежемесячных затрат.
Расширение миграции SQL Azure для Azure Data Studio С помощью службы "Миграция базы данных Azure" расширение миграции SQL Azure для Azure Data Studio помогает оценить требования к базе данных, чтобы понять готовность к миграции, получить рекомендации по SKU правильного размера для ресурсов Azure и перенести базу данных SQL Server в Azure. Вы можете перенести отдельные базы данных или масштабироваться с помощью PowerShell и Azure CLI.

В следующей таблице перечислены альтернативные инструменты миграции.

Технология Description
Репликация транзакций Репликация данных из таблиц базы данных — источника SQL Server в Базу данных SQL Azure с предоставлением варианта миграции типа "издатель — подписчик" и сохранением согласованности транзакций. Добавочные изменения данных распространяются на подписчиков по мере их возникновения на издателях.
Служба импорта и экспорта/BACPAC BACPAC — это файл Windows с расширением .bacpac, который инкапсулирует схему базы данных и данные. BACPAC можно использовать для экспорта данных из SQL Server-источника и импорта в Базу данных SQL Azure. Файл BACPAC можно импортировать в новую базу данных SQL через портал Azure.

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

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

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

Сравнение вариантов миграции

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

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

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

Поддерживаемые источники:
— локальный сервер SQL Server (2008) или в Azure Виртуальные машины
— SQL Server в Amazon EC2
— Amazon RDS для SQL Server — SQL Server
в подсистеме вычислений Google
— Миграции в масштабе можно автоматизировать с помощью PowerShell или Azure CLI.

— Длительность миграции зависит от размера базы данных и количества объектов в базе данных.

— Azure Data Studio требуется, если вы не используете PowerShell или Azure CLI.

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

Метод или технология Когда использовать Рекомендации
Репликация транзакций — Миграция путем непрерывной публикации изменений из таблиц базы данных-источника в таблицы целевой Базы данных SQL.
— Полные или частичные миграции баз данных выбранных таблиц (подмножества базы данных).

Поддерживаемые источники:
- — SQL Server (2016–2019) с некоторыми ограничениями;
— AWS EC2;
— виртуальная машина GCP Compute для SQL Server.
– Настройка сложнее по сравнению с другими вариантами миграции.
– Дает возможность непрерывной репликации для переноса данных (без перевода баз данных в автономный режим).
– Репликация транзакций имеет ограничения, которые следует учитывать при настройке издателя в исходном экземпляре SQL Server. Дополнительные сведения см. в разделе Ограничения на публикацию объектов.
— Возможно отслеживание действий репликации.
Служба импорта и экспорта/BACPAC — Перенос индивидуальных баз данных бизнес-приложений.
– Подходит для небольших баз данных.
— Не требуется отдельная служба или инструмент миграции.

Поддерживаемые источники:
— SQL Server (2005–2019) на локальном компьютере или на виртуальной машине Azure;
— AWS EC2;
— AWS RDS;
— виртуальная машина GCP Compute для SQL Server.
– Требуется простой, поскольку данные необходимо экспортировать из источника и импортировать в место назначения.
— Форматы файлов и типы данных, используемые при экспорте или импорте, должны быть согласованы со схемами таблиц, чтобы избежать ошибок усечения и несоответствия типов данных.
– Время, затрачиваемое на экспорт базы данных с большим количеством объектов, может быть значительно дольше.
Массовое копирование – Выполняется полная или частичная миграция данных.
– Допускается простой.

Поддерживаемые источники:
— SQL Server (2005–2019) на локальном компьютере или на виртуальной машине Azure;
— AWS EC2;
— AWS RDS;
— виртуальная машина GCP Compute для SQL Server.
– Требуется простой, необходимый для экспорта данных из источника и импорта в место назначения.
– Форматы файлов и типы данных, используемые в экспорте или импорте, должны быть согласованы со схемами таблиц.
Фабрика данных Azure – Миграция и (или) преобразование данных из баз данных-источников SQL Server.
— Как правило объединение данных из нескольких источников в Базе данных SQL Azure выполняется для рабочих нагрузок бизнес-аналитики (BI).
— Для перемещения данных из источника в место назначения требуется создавать конвейеры перемещения данных в Фабрике данных.
- Затраты — важный аспект, в основе которого лежат такие факторы, как триггеры конвейеров, выполнение действий и длительность перемещения данных.
Синхронизация данных SQL — Синхронизация данных между исходной и целевой базами данных.
— Подходит для непрерывной синхронизации между Базой данных SQL Azure и локальной версией SQL Server в двунаправленном потоке.
— База данных SQL Azure должна быть центральной базой данных для синхронизации, а локальная база данных SQL Server должна быть рядовой базой данных.
— В сравнении с репликацией транзакций Синхронизация данных SQL поддерживает двунаправленную синхронизацию данных между локальной базой данных и Базой данных SQL Azure.
— В зависимости от рабочей нагрузки влияние на производительность может быть более весомым.

Взаимодействие функций

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

SQL Server Integration Services

Перенос пакетов SQL Server Integration Services (SSIS) в Azure следует осуществлять путем повторного развертывания в среде выполнения Azure-SSIS в Фабрике данных Azure. Фабрика данных Azure поддерживает миграцию пакетов служб SSIS, предоставляя среду выполнения, созданную для обработки пакетов служб SSIS в Azure. В качестве альтернативы можно повторно задать логику ETL SSIS (извлечение, преобразование, загрузка) в Фабрике данных Azure, используя потоки данных.

Службы SQL Server Reporting Services

Отчеты SQL Server Reporting Services (SSRS) можно переносить в отчеты с разбивкой на страницы в Power BI. Для подготовки и переноса отчетов следует использовать средство миграции RDL. Корпорация Майкрософт разработала его, чтобы помочь клиентам переносить отчеты на языке определения отчетов с серверов SSRS в Power BI. Оно доступно на сайте GitHub, и в нем представлено полное пошаговое руководство по сценарию миграции.

Высокая доступность

Ручные настройки функций высокого уровня доступности SQL Server, таких как экземпляры отказоустойчивого кластера Always On и группы доступности Always On, устаревают в целевой базе данных SQL. Архитектура высокого уровня доступности уже встроена в уровни служб общего назначения (модель доступности уровня "Стандартный") и с критической важностью для бизнеса (модель доступности уровня "Премиум") для Базы данных SQL Azure. Уровень служб критически важный для бизнеса/Premium также обеспечивает горизонтальное масштабирование чтения, которое позволяет подключаться к одному из вторичных узлов только для чтения.

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

Имена для входа и группы

Имена входа Windows не поддерживаются в База данных SQL Azure, создайте имя входа из идентификатора Microsoft Entra (прежнее название — Azure Active Directory). Вручную повторно создайте все имена для входа SQL.

Задания Агента SQL

Задания Агента SQL не поддерживаются в Базе данных SQL Azure напрямую; их требуется развертывать в заданиях эластичной базы данных (предварительной версии).

Системные базы данных

Для База данных SQL Azure только применимые системные базы данных являются главными иtempdb. Дополнительные сведения см. в разделе Tempdb в Базе данных SQL Azure.

Расширенные функции

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

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

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

Автоматическая настройка позволяет непрерывно отслеживать производительность плана выполнения SQL и автоматически устранять выявленные проблемы с производительностью.

Ресурсы, посвященные миграции

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

Актив Description
Модель и средство оценки рабочей нагрузки данных Это средство предоставляет предлагаемые "оптимальные" целевые платформы, готовность к переходу в облако и уровень исправления приложения/базы данных для рабочей нагрузки. Оно обеспечивает простые и быстрые вычисления и создание отчетов, помогая ускорить оценку больших объемов, предоставляя, автоматизируя и унифицируя процесс принятия решений для целевых платформ.
Массовое создание баз данных с использованием PowerShell Можно использовать набор из трех сценариев PowerShell, которые создают группу ресурсов (create_rg.ps1), логический сервер в Azure (create_sqlserver.ps1) и базу данных SQL (create_sqldb.ps1). Сценарии включают функции циклов, что дает возможность выполнять итерацию и создавать столько серверов и баз данных, сколько необходимо.
Развертывание массовой схемы с использованием MSSQL-Scripter и PowerShell Этот ресурс создает группу ресурсов, один или несколько логических серверов в Azure для размещения Базы данных SQL Azure, экспортирует каждую схему из локального экземпляра SQL Server (или нескольких экземпляров SQL Server 2005 +) и импортирует схемы в Базу данных SQL Azure.
Преобразование заданий Агента SQL Server в задания эластичных баз данных Этот сценарий переносит задания из Агента SQL Server-источника в эластичную базу данных.
Служебная программа перемещения данных для входа локального сервера SQL Server в Базу данных SQL Azure Сценарий PowerShell может сформировать сценарий команды T-SQL для повторного создания имен для входа и выбора пользователей базы данных из локального SQL Server для Базы данных Azure SQL. Это средство позволяет автоматически сопоставлять учетные записи Windows Server Active Directory с учетными записями Microsoft Entra, а также переносить собственные имена входа SQL Server.
Автоматизация сбора данных системного монитора с применением инструмента Logman Инструмент Logman можно использовать для сбора данных системного монитора (с целью понимания базовых показателей производительности) и получения рекомендаций относительно целевого объекта миграции. Этот инструмент использует logman.exe для создания команды, которая будет создавать, запускать, останавливать и удалять счетчики производительности, заданные на удаленном экземпляре SQL Server.

Эти ресурсы разработали специалисты по разработке данных SQL. Основная задача этой команды — включить и ускорить комплексную модернизацию проектов миграции платформы данных на платформу данных Microsoft Azure.

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