Поделиться через


Обзор ссылки Управляемый экземпляр

Область применения: Управляемый экземпляр SQL Azure

В этой статье представлен обзор ссылки на управляемый экземпляр, которая обеспечивает репликацию данных почти в режиме реального времени между SQL Server и управляемым экземпляром Azure SQL. Ссылка обеспечивает гибридную гибкость и мобильность базы данных, так как она разблокирует несколько сценариев, таких как масштабирование рабочих нагрузок только для чтения, разгрузка аналитики и отчетов в Azure и миграция в Azure. Кроме того, в SQL Server 2022 ссылка обеспечивает аварийное восстановление в режиме онлайн с возвратом к SQL Server, а также настройку ссылки с SQL Managed Instance на SQL Server 2022.

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

Обзор

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

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

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

Функция ссылки в настоящее время предлагает следующие функции:

  • Односторонняя репликация из SQL Server версий 2016, 2017 и 2019: Используйте функцию ссылки для репликации данных в одностороннем порядке из экземпляра SQL в Управляемый экземпляр SQL Azure. Хотя вы можете вручную переключиться на резервный экземпляр в случае аварии, это разрывает связь, и возврат на исходный экземпляр не поддерживается.
  • Аварийное восстановление (SQL Server 2022): используйте функцию связи для репликации данных между SQL Server 2022 и управляемым экземпляром SQL Server, вручную переключитесь на ваш вторичный экземпляр во время аварии и верните обратно на основной после устранения повреждений. SQL Server или Управляемый экземпляр SQL могут быть основными.

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

Базы данных, реплицируемые через связь между SQL Server и Azure SQL Managed Instance, можно использовать для нескольких сценариев, таких как:

  • Аварийное восстановление
  • Использование служб Azure без миграции в облако
  • Разгрузка рабочих нагрузок только для чтения в Azure
  • Миграция в Azure
  • Копирование данных в локальной среде

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

Поддержка версий

Ссылка «Управляемый экземпляр» поддерживается как на уровне сервисных уровней общего назначения, так и на уровне сервисных уровней критической важности для бизнеса в Управляемом экземпляре SQL Azure. Функция ссылки работает с выпусками SQL Server Enterprise, Developer и Standard.

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

Начальная первичная версия Операционная система (ОС) Односторонняя репликация Варианты аварийного восстановления Требование к сервисному обновлению
Управляемый экземпляр SQL Azure Windows Server и Linux Общедоступная версия Двунаправленный - SQL Server 2022 CU10 (KB5031778): создание ссылки из управляемого экземпляра SQL Azure на SQL Server 2022 1
- SQL Server 2022 CU13 (KB5036432): переключение на резервное соединение с помощью Transact-SQL
— Настройка ссылки из Управляемого экземпляра SQL Azure на SQL Server 2022 поддерживается только экземплярами, настроенными с политикой обновления SQL Server 2022.
SQL Server 2022 (16.x) Windows Server и Linux Общедоступная версия Двунаправленный — SQL Server 2022 RTM: создание ссылки с SQL Server 2022 на Управляемый экземпляр SQL Azure
- SQL Server 2022 CU13 (KB5036432): переключение на резервное соединение с помощью Transact-SQL
SQL Server 2019 (15.x) Только Windows Server Общедоступная версия Перенос только из SQL Server в SQL MI SQL Server 2019 CU20 (KB5024276)
SQL Server 2017 (14.x)2 Только Windows Server Общедоступная версия Перенос только из SQL Server в SQL MI Последняя сборка SQL Server 2017 CU31 и соответствующая сборка пакета SQL Server 2017 Azure Connect
SQL Server 2016 (13.x) Только Windows Server Общедоступная версия Перенос только из SQL Server в SQL MI Последняя сборка SQL Server 2016 с пакетом обновления 3 (SP3) и соответствующая сборка пакета SQL Server 2016 Azure Connect
SQL Server 2014 (12.x) и ниже Неприменимо Неприменимо Неприменимо Версии до SQL Server 2016 не поддерживаются.

1 Поддержка создания ссылки с SQL Server 2022 в качестве стартового основного сервера доступна начиная с версии RTM SQL Server 2022. Создание ссылки с управляемым экземпляром базы данных Azure SQL в качестве начального основного сервера возможно только начиная с SQL Server 2022 CU10. Если вы создаете ссылку из начального основного узла управляемого экземпляра SQL, понижение версии SQL Server ниже CU10 не поддерживается, так как это может вызвать проблемы после переключения из одного направления в другое, пока ссылка активна.
2 Создание ссылки с SQL Server 2017 в настоящее время поддерживается только в Управляемом экземпляре SQL Azure с политикой обновления SQL Server 2022.

Версии SQL Server до SQL Server 2016 (SQL Server 2008 – 2014) не поддерживаются, так как компонент связи использует технологию распределенной группы доступности, которая была представлена в SQL Server 2016.

Помимо поддерживаемой версии SQL Server, вам потребуется:

  • Сетевое подключение между экземпляром SQL Server и управляемым экземпляром. Если SQL Server работает локально, используйте VPN-ссылку или Azure ExpressRoute. Если SQL Server работает на виртуальной машине Azure, разверните виртуальную машину в той же виртуальной сети, что и управляемый экземпляр, или используйте пиринг виртуальной сети для подключения двух отдельных подсетей.
  • Развертывание управляемого экземпляра SQL Azure, подготовленного для любого уровня обслуживания.

Вам также потребуется следующее:

Инструмент Примечания.
Последняя версия SSMS SQL Server Management Studio (SSMS) — это самый простой способ использования ссылки на Управляемый экземпляр, так как она предоставляет мастера настройки, которые автоматизируют процесс настройки ссылки.
Последняя версия Az.SQL или Azure CLI Для установки ссылок с помощью скриптов.

Примечание.

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

Базовая технология, лежащая в основе функции связи для SQL Managed Instance Azure, основана на создании распределённой группы доступности между SQL Server и SQL Managed Instance Azure. Решение поддерживает системы с одним узлом или без существующих групп доступности или нескольких систем узлов с существующими группами доступности.

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

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

Управляемый экземпляр SQL Azure поддерживает несколько соединений из одного или нескольких источников SQL Server к одному управляемому экземпляру SQL Azure, ограничивается только количеством баз данных, которые могут быть размещены одновременно — до 100 соединений для уровней общего назначения и критически важного для бизнеса, и 500 для уровня General Purpose следующего поколения. Аналогичным образом, один экземпляр SQL Server может устанавливать несколько параллельных связей синхронизации баз данных с несколькими управляемыми экземплярами, даже в разных регионах Azure, по принципу "один к одному" между базой данных и управляемым экземпляром.

Чтобы помочь вам настроить начальную среду, ознакомьтесь с руководством по подготовке среды SQL Server для использования функции связи с управляемым экземпляром SQL:

После выполнения начальных требований к среде можно создать ссылку с помощью автоматизированного мастера в SQL Server Management Studio (SSMS) или настроить ссылку вручную с помощью скриптов:

После создания ссылки выполните рекомендации по поддержанию ссылки:

Аварийное восстановление

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

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

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

При возврате к SQL Server вы можете выбрать вариант возврата:

  • online используя ссылку на Управляемый экземпляр напрямую.
  • офлайн, выполнив резервное копирование вашей базы данных из Управляемого экземпляра SQL и восстановив в вашем экземпляре SQL Server 2022.

Схема сценария аварийного восстановления.

Использование служб Azure

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

Передача рабочих нагрузок в Azure

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

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

Миграция в Azure

Эта функция также упрощает миграцию с SQL Server на Управляемый экземпляр SQL, что позволяет:

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

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

Копирование данных в локальной среде

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

Автоматическое резервное копирование

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

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

Безлицензионная пассивная реплика для восстановления после сбоев

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

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

Соотношение затрат и выгод

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

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

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

В другом примере, если у вас есть 16 лицензий Azure Hybrid Benefit и вторичный управляемый экземпляр SQL использует 8 vCores, после того как вы назначите вторичный экземпляр для гибридного перехода на резервный, 8 vCores возвращаются в ваш пул лицензий для использования с другими развертываниями Azure SQL.

Точные условия преимущества прав отказоустойчивости см. в разделе "Условия лицензирования SQL Server – Права на отказоустойчивость".

Ограничения

При использовании ссылки следует учитывать следующие ограничения.

К ограничениям доступности поддержки версий относятся:

  • Вы не можете использовать клиенты Windows 10 и 11 для размещения экземпляра SQL Server, так как невозможно включить функцию группы доступности AlwaysOn, необходимую для ссылки. Экземпляры SQL Server должны размещаться в Windows Server 2012 или более поздней версии.
  • Sql Server версии 2008–2014 не поддерживается функцией ссылки, так как подсистема SQL этих выпусков не поддерживает встроенную поддержку распределенных групп доступности, необходимых для ссылки. Выполните обновление до более новой версии SQL Server, чтобы использовать ссылку.
  • Репликация данных и переключение на резервный узел с Управляемого экземпляра SQL на SQL Server 2022 не поддерживается экземплярами, настроенными на политику обновления Always-up-to-date. Ваш экземпляр должен быть настроен в соответствии с политикой обновления для SQL Server 2022, чтобы выполнить следующие действия:
    • Установите ссылку из управляемого экземпляра SQL на SQL Server.
    • Переход от управляемого экземпляра SQL на SQL Server 2022.
  • Хотя вы можете установить связь из SQL Server 2022 с управляемым экземпляром SQL, настроенным с политикой обновления 'Всегда в актуальном состоянии', в случае переключения на управляемый экземпляр SQL вы больше не сможете реплицировать данные или вернуться на SQL Server 2022.

Ограничения репликации данных включают:

  • Только пользовательские базы данных могут быть реплицированы. Репликация системных баз данных не поддерживается.
  • Решение не реплицирует объекты уровня сервера, задания агента или учетные записи пользователей из SQL Server в Управляемый экземпляр SQL.
  • Для версий SQL Server 2016, 2017 и 2019 репликация пользовательских баз данных из экземпляров SQL Server в развертывания Управляемого экземпляра SQL является одним из возможных способов. Пользовательские базы данных из развертываний Управляемого экземпляра SQL нельзя реплицировать обратно в экземпляры SQL Server по ссылке. Двусторонняя репликация с возвратом после отказа на экземпляр SQL Server доступна только для SQL Server 2022.
  • Настройка ссылки с Управляемого экземпляра SQL на SQL Server для баз данных Управляемого экземпляра SQL, которые уже имеют связь, не поддерживается.

К ограничениям конфигурации относятся следующие:

  • Если на сервере есть несколько экземпляров SQL Server, можно настроить ссылку с каждым экземпляром, но каждый экземпляр должен быть настроен для использования отдельной конечной точки зеркального отображения базы данных с выделенным портом для каждого экземпляра. Только экземпляр по умолчанию должен использовать порт 5022 для конечной точки зеркального отображения базы данных.
  • Для одной ссылки управляемого экземпляра в одну группу доступности можно поместить только одну базу данных. Однако можно реплицировать несколько баз данных в одном экземпляре SQL Server, установив несколько ссылок.
  • Один управляемый экземпляр поддерживает до 100 ссылок из нескольких экземпляров SQL Server.
  • Ссылка на управляемый экземпляр может реплицировать базу данных любого размера, если она соответствует выбранному размеру хранилища целевого развертывания управляемого экземпляра SQL.
  • Аутентификация управляемой ссылки между SQL Server и управляемым экземпляром SQL осуществляется на основе сертификатов и доступна только через обмен сертификатами. Использование аутентификации Windows для установления связи между экземпляром сервера SQL и управляемым экземпляром не поддерживается.
  • Для установки связи с управляемым экземпляром SQL поддерживается только локальная конечная точка в виртуальной сети.
  • Для установления связи с управляемым экземпляром нельзя использовать ни общедоступную конечную точку, ни частную конечную точку.
  • Базы данных с несколькими файлами журналов не могут быть реплицированы, так как Управляемый экземпляр SQL не поддерживает несколько файлов журналов.
  • Создание ссылки на SQL Server 2017 в настоящее время поддерживается только в Управляемом экземпляре SQL Azure с политикой обновления SQL Server 2022.

К ограничениям функций относятся следующие:

  • Группы переключения при отказе не поддерживаются инстанциями, использующими функцию ссылки. Вы не можете установить ссылку на управляемый экземпляр, который является частью группы отработки отказа, и наоборот, нельзя настроить группу отработки отказа на экземпляре, имеющем установленную ссылку.
  • Если вы используете Change Data Capture (CDC), доставку журналов или брокер служб с базами данных, реплицируемыми на экземпляре SQL Server, когда база данных перемещается в развертывание Управляемого экземпляра SQL, в случае сбоя на Azure, клиенты должны подключаться, используя имя текущего глобального первичного экземпляра. Эти параметры следует перенастроить вручную.
  • Если вы используете репликацию транзакций с базой данных в экземпляре SQL Server в сценарии миграции, при переключении на Azure репликация транзакций на развертывании SQL Managed Instance потерпит неудачу и должна быть перенастроена вручную.
  • Если вы используете распределенные транзакции с базой данных, реплицируемой из экземпляра SQL Server, и в сценарии миграции в облако возможности координатора распределенных транзакций не будут переданы. Перенесенная база данных не может участвовать в распределенных транзакциях с экземпляром SQL Server, так как развертывание SQL Managed Instance на данный момент не поддерживает распределенные транзакции с SQL Server. Для справки Управляемый экземпляр SQL сегодня поддерживает распределенные транзакции только между другими управляемыми экземплярами. Дополнительные сведения см. в статье Распределенные транзакции по облачным базам данных.
  • Если вы используете прозрачное шифрование данных (TDE) для шифрования баз данных SQL Server, ключ шифрования базы данных из SQL Server необходимо экспортировать и отправить в Azure Key Vault, а также настроить параметр BYOK TDE на Управляемый экземпляр SQL перед созданием ссылки.
  • Базы данных управляемого экземпляра SQL, зашифрованные служебно управляемыми ключами TDE, не могут быть связаны с SQL Server. Можно связать зашифрованную базу данных с SQL Server только в том случае, если он был зашифрован с помощью управляемого клиентом ключа, а целевой сервер имеет доступ к тому же ключу, который используется для шифрования базы данных. Дополнительные сведения см. в статье "Настройка TDE SQL Server с помощью Azure Key Vault".
  • Невозможно установить связь между SQL Server и SQL Managed Instance, если функциональность, используемая в экземпляре SQL Server, не поддерживается в управляемом экземпляре. Например:
    • Базы данных с таблицами файлов и потоками файлов не могут быть реплицированы, так как Управляемый экземпляр SQL не поддерживает таблицы файлов или потоки файлов.
    • Базы данных, использующие In-Memory OLTP, можно реплицировать только в Управляемый экземпляр базы данных SQL на уровне служб Business Critical, так как уровень служб общего назначения не поддерживает In-Memory OLTP. Базы данных с несколькими файлами OLTP в памяти не поддерживаются в Управляемом экземпляре SQL и не могут быть реплицированы.

Попытка добавить неподдерживаемые функции в реплицированную базу данных в:

  • SQL Server 2017, 2019 и 2022 выдают ошибку.
  • SQL Server 2016 приводит к нарушению ссылки, которая затем должна быть удалена и воссоздана.

Полный список различий между SQL Server и SQL Managed Instance см. в разделе "Различия T-SQL между SQL Server и Azure SQL Managed Instance".

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

Дополнительные сведения о ссылке:

Для других сценариев репликации и миграции рассмотрите: