Создание баз данных SQL с высоким уровнем доступности в Azure Stack Hub

Внимание

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

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

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

Что вы узнаете:

  • Создание группы доступности AlwaysOn для SQL Server на основе шаблона.
  • Настройте группу доступности SQL Server AlwaysOn в качестве сервера размещения SQL для Azure Stack Hub.
  • Создание базы данных SQL с высоким уровнем доступности.

Создается и настроена группа доступности AlwaysOn для двух виртуальных машин SQL Server с помощью доступных элементов Azure Stack Marketplace.

Прежде чем начать, убедитесь, что поставщик ресурсов SQL Server успешно установлен и что приведенные ниже компоненты доступны в Azure Stack Marketplace.

Внимание

Все следующие элементы необходимы для использования шаблона быстрого запуска Azure Stack Hub.

  • Центр обработки данных Windows Server 2016.

  • Образ сервера Windows Server 2016 с SQL Server 2016 SP1 или SP2 (редакции Enterprise или Developer).

    Примечание.

    Стандартная версия не поддерживается. При настройке группы доступности SQL Server AlwaysOn с версией SQL Server Standard можно создать только одну базу данных для одной группы доступности. Это ограничение делает стандартную версию непригодной для нашего сценария. Дополнительные сведения см. в разделе "Базовые группы доступности".

  • Расширение IaaS для SQL Server 1.3.20180 или более поздней версии. Расширение IaaS для SQL устанавливает необходимые компоненты, которые требуются элементам Marketplace SQL Server, для всех версий Windows. Оно обеспечивает настройку параметров SQL на виртуальных машинах SQL. Если расширение не установлено в локальном магазине, подготовка SQL завершается ошибкой.

Дополнительные сведения о добавлении элементов в Azure Stack Marketplace см. в обзоре Azure Stack Hub Marketplace.

Создание группы доступности AlwaysOn для SQL Server

Следуйте инструкциям этого раздела, чтобы развернуть группу доступности SQL Server AlwaysOn с помощью шаблона быстрого запуска Azure Stack Hub sql-2016-alwayson. Этот шаблон развертывает два экземпляра SQL Server Enterprise или Developer в группе доступности Always On. Он создает перечисленные ниже ресурсы.

  • Группа безопасности сети.
  • Виртуальная сеть.
  • Четыре учетные записи хранения данных (одна для Active Directory (AD), одна для SQL, одна для свидетеля общего файлового ресурса и одна для диагностики виртуальных машин).
  • Четыре общедоступных IP-адреса (один для AD, по одному для каждой из двух виртуальных машин SQL и один для общедоступной подсистемы балансировки нагрузки, привязанной к прослушивателю SQL AlwaysOn).
  • Один внешний балансировщик нагрузки для виртуальных машин SQL с общедоступным IP-адресом, привязанным к прослушивателю SQL AlwaysOn.
  • Одна виртуальная машина (Windows Server 2016), настроенная в качестве контроллера домена для нового леса с одним доменом.
  • Две виртуальные машины (Windows Server 2016) с установленным SQL Server 2016 SP1 или SP2 редакции Enterprise или Developer, объединённые в кластер. Это должны быть изображения Marketplace.
  • Одна виртуальная машина (Windows Server 2016), настроенная как файловый свидетель для кластера.
  • Одна группа доступности, содержащая виртуальные машины SQL и файлового ресурса-свидетеля.
  1. Войдите на пользовательский портал: для интегрированного развертывания системы адрес портала зависит от региона и внешнего доменного имени решения. Он находится в формате https://portal.<region>.<FQDN>.

  2. Выберите +Создать ресурс> > Пользовательский, а затем Развертывание шаблона.

    Развертывание пользовательского шаблона с помощью портала администрирования Azure Stack Hub

  3. В колонке Настраиваемое развертывание выберите Изменить шаблон>Шаблон быстрого запуска, а затем используйте список доступных шаблонов из раскрывающейся списка, чтобы выбрать шаблон sql-2016-alwayson. Нажмите кнопку ОК и щелкните Сохранить.

    Изменение шаблона на портале администрирования Azure Stack Hub

  4. В колонке Настраиваемое развертывание выберите Изменить параметры и проверьте значения по умолчанию. При необходимости измените значения, чтобы предоставить все требуемые сведения о параметрах, а затем щелкните ОК.

    Сделайте как минимум следующее:

    • Укажите сложные пароли для параметров ADMINPASSWORD, SQLSERVERSERVICEACCOUNTPASSWORD и SQLAUTHPASSWORD.
    • Введите DNS-суффикс для обратного поиска для параметра DNSSUFFIX строчными буквами (azurestack.external для установок ASDK до версии 2107).

    Изменение параметров на портале администрирования Azure Stack Hub

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

    Затем выберите расположение группы ресурсов (локально для установок ASDK до версии 2107) и нажмите кнопку "Создать". Сначала произойдет проверка параметров настраиваемого развертывания, а затем начнется само развертывание.

    Выбор подписки на портале администрирования Azure Stack Hub

  6. На пользовательском портале щелкните элемент Группы ресурсов. Затем выберите имя группы ресурсов, созданной для настраиваемого развертывания (в этом примере resource-group). Просмотрите состояние развертывания, чтобы убедиться, что все развертывания выполнены успешно.

    Затем просмотрите элементы группы ресурсов и выберите элемент общедоступного IP-адреса SQLPIPsql <имя группы ресурсов>. Запишите общедоступный IP-адрес и полное доменное имя общедоступного IP-адреса подсистемы балансировки нагрузки. Эти сведения необходимо предоставить оператору Azure Stack Hub, чтобы он мог создать сервер для размещения SQL с использованием этой группы доступности SQL AlwaysOn.

    Примечание.

    Развертывание шаблона может занять несколько часов.

Включение автоматического заполнения

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

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

Используйте следующие команды SQL, чтобы настроить автоматическое заполнение для группы доступности AlwaysOn. Замените <PrimaryInstanceName> именем основного экземпляра SQL Server, <SecondaryInstanceName> — именем вторичного экземпляра SQL Server, а <availability_group_name> — именем соответствующей группы доступности AlwaysOn.

На основном экземпляре SQL:

ALTER AVAILABILITY GROUP [<availability_group_name>]
    MODIFY REPLICA ON '<PrimaryInstanceName>'
    WITH (SEEDING_MODE = AUTOMATIC)
GO
  
ALTER AVAILABILITY GROUP [<availability_group_name>]
    MODIFY REPLICA ON '<SecondaryInstanceName>'
    WITH (SEEDING_MODE = AUTOMATIC)
GO

Скрипт основного экземпляра SQL

На вторичных экземплярах SQL:

ALTER AVAILABILITY GROUP [<availability_group_name>] GRANT CREATE ANY DATABASE
GO

Скрипт вторичного экземпляра SQL

Настройка проверки подлинности для изолированной базы данных

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

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

EXEC sp_configure 'contained database authentication', 1
GO
RECONFIGURE
GO

Настройка аутентификации автономной базы данных

Настроить сервер размещения SQL для Azure Stack Hub

После создания и правильной настройки группы доступности SQL Server AlwayOn оператор Azure Stack Hub должен настроить его в качестве сервера размещения SQL Azure Stack Hub.

Обязательно используйте общедоступный IP-адрес или полное доменное имя (FQDN) для общедоступного IP-адреса балансировщика нагрузки SQL, записанного ранее при создании группы ресурсов группы доступности SQL AlwaysOn (SQLPIPsql<имя группы ресурсов>). Кроме того, вам нужны учетные данные аутентификации SQL Server, используемые для доступа к экземплярам SQL в группе доступности AlwaysOn.

Примечание.

Оператор Azure Stack Hub должен выполнить этот шаг на портале администрирования Azure Stack Hub.

Используя общедоступный IP-адрес прослушивателя подсистемы балансировки нагрузки, созданного для группы доступности SQL AlwaysOn и сведения для аутентификации в SQL, оператор Azure Stack Hub может создать сервер для размещения SQL с использованием группы доступности SQL AlwaysOn.

Кроме того, убедитесь, что вы создали планы и предложения, чтобы сделать создание базы данных SQL AlwaysOn доступным для пользователей. Оператор должен добавить службу Microsoft.SqlAdapter в план и создать новую квоту специально для высокодоступных баз данных. Дополнительные сведения о создании планов см. в статье Service, plan, offer, subscription overview (Обзор служб, планов, предложений и подписок).

Совет

Служба Microsoft.SqlAdapter недоступна для добавления в планы до развертывания поставщика ресурсов SQL Server.

Создание высокодоступной базы данных SQL

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

Примечание.

Выполните эти действия с пользовательского портала Azure Stack Hub в качестве пользователя клиента с подпиской, предоставляющей возможности SQL Server (служба Microsoft.SQLAdapter ).

  1. Войдите на пользовательский портал: для интегрированного развертывания системы адрес портала зависит от региона и внешнего доменного имени решения. Он находится в формате https://portal.<region>.<FQDN>.

  2. Выберите +"Создать ресурс>и хранилище", а затем База данных SQL.

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

    Создание базы данных SQL на портале пользователя Azure Stack Hub

  3. Выберите SKU, а затем выберите подходящий SKU сервера SQL Hosting для использования. В нашем примере оператор Azure Stack Hub создал SKU Enterprise-HA с поддержкой высокого уровня доступности для групп доступности SQL AlwaysOn.

    Выбор SKU на пользовательском портале Azure Stack Hub

  4. Выберите Вход>Create a new login (Создать новое имя для входа) и укажите учетные данные аутентификации SQL, которые будут использоваться для новой базы данных. По завершении щелкните ОК, а затем выберите Создать, чтобы запустить развертывание базы данных.

    Создание имени для входа на пользовательском портале Azure Stack Hub

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

    Просмотр строки подключения на пользовательском портале Azure Stack Hub

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

Обновление поставщика ресурсов SQL