Развертывание управляемой службы базы данных с управляемым экземпляром SQL с поддержкой Azure Arc

Завершено

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

Сравнение с Azure SQL

Azure SQL — это семейство служб баз данных, развернутых в инфраструктуре Azure:

SQL Server в виртуальных машинах Azure

Этот вариант развертывания SQL Azure позволяет выполнять в Windows или Linux полностью лицензированную выбранную версию SQL Server. Пользователь управляет всем, что находится на гостевой виртуальной машине, а корпорация Майкрософт управляет инфраструктурой. Такой вариант называется «инфраструктура как услуга» (IaaS).

Управляемый экземпляр SQL Azure

Этот вариант развертывания SQL Azure предоставляет предварительно установленный экземпляр SQL Server без версий в качестве полностью управляемой службы. У пользователя есть доступ практически ко всем возможностям экземпляра подсистемы SQL Server. Корпорация Майкрософт управляет всеми аспектами платформы и инфраструктуры, которые необходимы для размещения экземпляра. Этот вариант является примером модели «платформа как услуга» (PaaS).

База данных SQL Azure

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

Управляемый экземпляр SQL с поддержкой Azure Arc

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

Сравнение функций

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

Основные возможности

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

Как и Управляемый экземпляр SQL Azure, при развертывании Управляемого экземпляра SQL с поддержкой Azure Arc вы получаете предварительно установленный, бессерверный SQL Server. Управляемый экземпляр SQL с поддержкой Azure Arc использует образы контейнеров из Microsoft Container Registry (MCR).

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

Уровни службы

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

  • Общее назначение . Как подразумевает его имя, этот уровень служб предназначен для большинства рабочих нагрузок. Этот уровень служб предусматривает ограничения по таким ресурсам, как число ядер и объем памяти, но поставляется со встроенной базовой функцией высокого уровня доступности посредством Kubernetes и общего хранилища. Экземпляры на уровне служб общего назначения сопоставляются с функциями, поддерживаемыми в SQL Server Standard Edition.

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

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

Интеграция с Azure

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

Интеграция с Azure для управляемого экземпляра SQL с поддержкой Azure Arc зависит от используемого режима подключения.

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

Если используется режим «Непрямое подключение», в Azure необходимо отправить минимальный объем данных для выставления счетов. При необходимости можно экспортировать данные, такие как метрики и журналы. Развертывание и настройка на портале Azure не поддерживаются в режиме «Непрямое подключение». Однако интерфейсы, такие как Azure CLI и kubectl, можно использовать для развертывания и настройки.

Сравнение возможностей управления

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

Отсутствие привязки к версии

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

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

Развертывание и конфигурация

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

В режиме «Прямое подключение» управляемый экземпляр SQL с поддержкой Azure Arc можно развернуть с помощью портала Azure. В непрямом режиме подключения Управляемый экземпляр SQL с поддержкой Azure Arc можно развернуть с помощью Azure CLI (с помощью расширения arcdata), kubectl или Azure Data Studio.

Вне экземпляра SQL Управляемый экземпляр SQL с поддержкой Azure Arc также можно настроить в режиме прямого подключения с помощью портал Azure. В любом подключенном режиме параметры можно настроить вне экземпляра SQL с помощью Azure CLI или kubectl.

В экземпляре SQL для настройки параметров экземпляра и базы данных можно использовать стандартные интерфейсы SQL Server, такие как sp_configure, ALTER SERVER CONFIGURATION и ALTER DATABASE.

Наблюдение

Как и управляемый экземпляр SQL Azure, управляемый экземпляр SQL с поддержкой Azure Arc можно отслеживать с помощью монитора Azure для ключевых метрик. Локально в кластере можно также использовать встроенный мониторинг с панелями мониторинга Grafana для узлов или экземпляра SQL.

Журналы управляемого экземпляра SQL с поддержкой Azure Arc доступны для просмотра на портале Azure с помощью функции анализа журналов. Локально в кластере можно также использовать встроенные журналы с Kibana.

Поскольку управляемый экземпляр SQL с поддержкой Azure Arc создан на основе SQL Server, для просмотра ошибок SQL и сведений об экземпляре доступны стандартные файлы ERRORLOG. Управляемый экземпляр SQL с поддержкой Azure Arc также поддерживает все доступные динамические административные представления (DMV) и расширенные события.

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

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

Для уровня служб «Общего назначения» встроенная функция высокого уровня доступности Kubernetes StatefulSets используется вместе с общим хранилищем.

Для уровня служб критически важный для бизнеса, встроенного в высокий уровень доступности, предоставляется сочетание реплик групп доступности Kubernetes StatefulSets и sql Server AlwaysOn. Реплики групп доступности автоматически развертываются и настраиваются для пользователя. Как и в случае с управляемым экземпляром Azure SQL, доступна реплика «только для чтения» для разгрузки рабочих нагрузок чтения. Системные базы данных, такие как Master и Model, являются частью группы доступности. Объекты уровня системы, такие как задания агента SQL, будут автоматически доступны после отработки отказа.

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

Поскольку корпорация Майкрософт управляет всей платформой и инфраструктурой управляемого экземпляра SQL Azure, пользователям доступны преимущества соглашений об уровне обслуживания (SLA). Так как клиенты должны управлять инфраструктурой для Управляемый экземпляр SQL с поддержкой Azure Arc, клиент владеет и управляет всеми соглашениями об уровне обслуживания.

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

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

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

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

Миграция

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

Интерфейсы для управляемого экземпляра SQL с поддержкой Azure Arc

Для управления экземпляром и создания приложений можно использовать следующие интерфейсы управляемого экземпляра SQL с поддержкой Azure Arc:

SQL Server Management Studio (SSMS)

SQL Server Management Studio (SSMS) полностью совместим с инструментами отправки запросов и управления управляемым экземпляром SQL с поддержкой Azure Arc.

Azure Data Studio (ADS)

Azure Data Studio (ADS) — это многоплатформенный инструмент, который поддерживает отправку запросов и администрирование управляемого экземпляра SQL с поддержкой Azure Arc. ADS поддерживает запросы с помощью T-SQL вместе с записными книжками T-SQL. Кроме того, вы можете использовать расширение ADS Azure Arc для создания ресурсов служб данных с поддержкой Azure Arc и управления ими, таких как контроллер данных, Управляемый экземпляр SQL и сервер PostgreSQL (предварительная версия).

Инструменты командной строки SQL

Инструменты командной строки SQL, такие как sqlcmd и bcp, поддерживаются для управляемого экземпляра SQL с поддержкой Azure Arc.

Портал Azure

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

Azure CLI

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

kubectl

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

Драйверы SQL

Можно использовать любой поддерживаемый драйвер SQL Server, чтобы приложение могло подключаться и выполнять запросы к управляемому экземпляру SQL с поддержкой Azure Arc. Поддержка драйверов включена для популярных языков программирования, таких как C#, Java, Node.js, PHP, Python и Ruby.