Общие сведения о миграции из 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)

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

Обзор

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

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

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

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

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

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

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

Примечание.

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

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

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

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

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

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

Внимание

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

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

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

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

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

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

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

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

Технология Description
Расширение миграции SQL Azure для Azure Data Studio С помощью службы "Миграция базы данных Azure" расширение миграции SQL Azure для Azure Data Studio помогает оценить требования к базе данных, чтобы понять готовность к миграции, получить рекомендации по SKU правильного размера для ресурсов Azure и перенести базу данных SQL Server в Azure. Вы можете перенести отдельные базы данных или масштабироваться с помощью PowerShell и Azure CLI.
Миграция Azure Эта служба Azure помогает выявить и оценить пространство данных SQL в большом масштабе на VMware. Она выдает рекомендации по развертыванию Azure SQL, определению целевых размеров и примерных ежемесячных затрат.
Собственное резервное копирование и восстановление Управляемый экземпляр SQL поддерживает восстановление собственных резервных копий баз данных SQL Server (BAK-файлов). Это самый простой вариант миграции для клиентов, которые могут предоставить полные резервные копии баз данных службе хранилища Microsoft Azure.
Служба воспроизведения журналов Эта облачная служба поддерживается для Управляемого экземпляра SQL на основе технологии доставки журналов SQL Server. Это вариант миграции для клиентов, которые могут предоставить полные и разностные резервные копии баз данных, а также резервные копии баз данных журналов службе хранилища Microsoft Azure. Служба воспроизведения журналов используется для восстановления файлов резервных копий из Хранилища BLOB-объектов Azure в Управляемый экземпляр SQL.
Функция связи в Управляемом экземпляре Эта функция позволяет Управляемый экземпляр SQL миграции через Интернет с помощью технологии AlwaysOn. Это вариант миграции для клиентов, которые требуют, чтобы база данных на Управляемый экземпляр SQL была доступна в режиме R/O во время миграции, которые должны поддерживать миграцию в течение длительного периода времени (недель или месяцев в то время), которые требуют истинного реплика реплика подключения к критически важный для бизнеса уровень служб и для клиентов, которым требуется наиболее производительное минимальное время простоя.

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

Технология Description
Репликация транзакций Репликация данных из таблиц базы данных-источника SQL Server в Управляемый экземпляр SQL с предоставлением варианта миграции типа "издатель — подписчик" и сохранением согласованности транзакций.
Массовое копирование Инструмент программы массового копирования (bcp) копирует данные из экземпляра SQL Server в файл данных. Используйте этот инструмент для экспорта данных из источника и импорта файла данных в целевой управляемый экземпляр SQL.

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

Фабрика данных поддерживает широкий спектр соединителей для перемещения данных из SQL Server-источников в Управляемый экземпляр SQL Azure.

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

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

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

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

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

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

— Azure Data Studio требуется, если вы не используете PowerShell или Azure CLI.
Собственное резервное копирование и восстановление — Перенос индивидуальных баз данных бизнес-приложений.
– Быстрая и простая миграция без отдельной службы или средства миграции.

Поддерживаемые источники
– SQL Server (2005–2019), локальная или виртуальная машина Azure
- Amazon EC2
– Виртуальная машина GCP Compute SQL Server
– Резервное копирование базы данных использует несколько потоков для оптимизации передачи данных в Хранилище BLOB-объектов Azure, однако пропускная способность и размер базы данных партнера могут повлиять на скорость переноса.
– Простой должен включать в себя время, требуемое для создания полной резервной копии и восстановления (что представляет собой размер операции с данными).
Служба воспроизведения журналов — Перенос индивидуальных баз данных бизнес-приложений.
– Для миграции баз данных требуется повышенный контроль.

Поддерживаемые источники
– SQL Server (2008–2019), локальная или виртуальная машина Azure
— Amazon EC2
— Amazon RDS для SQL Server
– Виртуальная машина GCP Compute SQL Server
– Миграция влечет за собой создание полных резервных копий базы данных на SQL Server и копирование файлов резервных копий в Хранилище BLOB-объектов Azure. Служба воспроизведения журналов используется для восстановления файлов резервных копий из Хранилища BLOB-объектов Azure в Управляемый экземпляр SQL.
– Базы данных, восстанавливаемые в процессе миграции, будут находиться в режиме восстановления, и их нельзя будет использовать для рабочих нагрузок чтения или записи до завершения процесса.
Функция связывания для Управляемый экземпляр SQL Azure — Перенос индивидуальных баз данных бизнес-приложений.
– Для миграции баз данных требуется повышенный контроль.
— Миграция с минимальным временем неработоспособности.

Поддерживаемые источники
– SQL Server (2016–2019), локальная или виртуальная машина Azure
- Amazon EC2
– Виртуальная машина GCP Compute SQL Server
— При переносе устанавливается сетевое подключение между SQL Server и управляемым экземпляром SQL и открываются порты связи.
— Использует технологию группы доступности AlwaysOn для репликации базы данных почти в режиме реального времени, создавая точную копию базы данных SQL Server на управляемом экземпляре SQL.
— Базу данных можно использовать для доступа только для чтения к управляемому экземпляру SQL во время выполнения миграции.
— Обеспечивает максимальную производительность во время выполнения миграции с минимальным временем простоя.

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

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

Поддерживаемые источники
– SQL Server (2012–2019) с некоторыми ограничениями
- Amazon EC2
– Виртуальная машина GCP Compute SQL Server

– Настройка сложнее по сравнению с другими вариантами миграции.
– Дает возможность непрерывной репликации для переноса данных (без перевода баз данных в автономный режим).
– Репликация транзакций имеет ограничения, которые следует учитывать при настройке издателя в экземпляре-источнике SQL Server. Дополнительные сведения см. в разделе Ограничения на публикацию объектов.
– Доступна возможность отслеживания действий репликации.
Массовое копирование – Выполняется полная или частичная миграция данных.
– Допускается простой.

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

Поддерживаемые источники
– SQL Server (2005–2019), локальная или виртуальная машина Azure
- Amazon EC2
— Amazon RDS
– Виртуальная машина GCP Compute SQL Server

– Требуется простой, поскольку данные необходимо экспортировать из источника и импортировать в место назначения.
– Форматы файлов и типы данных, используемые в экспорте или импорте, должны быть согласованы со схемами таблиц, чтобы избежать ошибок усечения и несоответствия типов данных.
– Время, затрачиваемое на экспорт базы данных с большим количеством объектов, может быть значительно дольше.
Фабрика данных Azure – Миграция и (или) преобразование данных из баз данных-источников SQL Server.
– Как правило, объединение данных из нескольких источников в Управляемом экземпляре SQL Azure выполняется для рабочих нагрузок бизнес-аналитики (BI).
— Для перемещения данных из источника в место назначения требуется создавать конвейеры перемещения данных в Фабрике данных.
- Затраты — важный аспект, в основе которого лежат такие факторы, как триггеры конвейеров, выполнение действий и длительность перемещения данных.

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

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

SQL Server Integration Services

Миграция пакетов и проектов SQL Server Integration Services (SSIS) в SSISDB в Управляемый экземпляр SQL Azure с помощью Azure Database Migration Service.

Миграция поддерживается только для пакетов SQL Server Integration Sevices в SSISDB начиная с SQL Server 2012. Преобразуйте более старые пакеты SQL Server Integration Sevices перед миграцией. Дополнительные сведения см. в руководстве по преобразованию проектов.

Службы SQL Server Reporting Services

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

SQL Server Analysis Services

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

Кроме того, можно рассмотреть возможность переноса локальных табличных моделей Analysis Services в Power BI Premium с помощью новых конечных точек чтения и записи XMLA.

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

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

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

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

Используйте автономный вариант Azure Database Migration Service для переноса заданий Агента SQL. В противном случае создайте скрипты для заданий на языке Transact-SQL (T-SQL) с помощью SQL Server Management Studio, а затем вручную повторно создайте их в целевом управляемом экземпляре SQL.

Внимание

В настоящее время Azure Database Migration Service поддерживает только задания с этапами подсистемы T-SQL. Задания с этапами пакета SQL Server Integration Sevices необходимо переносить вручную.

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

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

По умолчанию Azure Database Migration Service поддерживает перенос имен входа только для SQL. Однако вы можете включить перенос имен входа Windows. Для этого сделайте следующее.

  • Убедитесь, что целевой управляемый экземпляр SQL имеет доступ на чтение к идентификатору Microsoft Entra (ранее — Azure Active Directory). Пользователь с ролью глобального администратора может настроить этот доступ на портале Microsoft Azure.
  • Включите миграцию имен входа пользователей или групп Windows в Azure Database Migration Service. Это выполняется на странице Конфигурация портала Microsoft Azure. После включения этого параметра перезапустите службу, чтобы изменения вступили в силу.

Когда завершится перезапуск службы, в списке доступных для миграции имен входа отобразятся имена входа пользователей или групп Windows. Для всех переносимых имен входа пользователей или групп Windows вам будет предложено указать соответствующее доменное имя. Учетные записи пользователей службы (с доменным именем NT AUTHORITY) и виртуальные учетные записи пользователей (с доменным именем NT SERVICE) не поддерживаются. Дополнительные сведения см. в статье Перенос пользователей и групп Windows, настроенных для экземпляра SQL Server, в управляемый экземпляр SQL Azure с использованием T-SQL.

В качестве альтернативы можно использовать служебную программу PowerShell, специально разработанную архитекторами переноса данных Майкрософт. Эта служебная программа использует PowerShell для создания сценария T-SQL в целях повторного создания имен для входа и выбора пользователей базы данных из источника для целевого объекта.

Служебная программа PowerShell автоматически сопоставляет учетные записи Windows Server Active Directory с учетными записями Microsoft Entra и может выполнять поиск имени участника-пользователя для каждого имени входа в исходном экземпляре Active Directory. Эта служебная программа создает сценарий для пользовательских ролей сервера и базы данных, членства в ролях и разрешений пользователей. Автономные базы данных пока не поддерживаются, и скрипт содержит не полное подмножество возможных разрешений SQL Server.

Шифрование

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

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

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

Выполняющаяся в памяти OLTP (таблицы, оптимизированные для памяти)

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

Внимание

Выполняющаяся в памяти OLTP поддерживается только на уровне "Критически важный для бизнеса" в Управляемом экземпляре SQL Azure. Эта возможность не поддерживается для уровня "Общего назначения".

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

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

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

    SELECT * FROM sys.tables WHERE is_memory_optimized=1
    SELECT * FROM sys.table_types WHERE is_memory_optimized=1
    SELECT * FROM sys.sql_modules WHERE uses_native_compilation=1
    

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

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

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

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

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

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

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

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

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

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

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