Настройка подсистемы балансировки нагрузки и прослушивателя группы доступности (в SQL Server на виртуальных машинах Azure)

Применимо к:SQL Server на виртуальной машине Azure

Совет

Существует множество методов развертывания группы доступности. Упрощение развертывания и устранение необходимости использования Azure Load Balancer или распределенного сетевого имени (DNN) для группы доступности AlwaysOn путем создания виртуальных машин SQL Server в нескольких подсетях в одной виртуальной сети Azure. Если вы уже создали группу доступности в одной подсети, ее можно перенести в среду с несколькими подсетами.

В этой статье описывается, как создать подсистему балансировки нагрузки для группы доступности AlwaysOn в SQL Server на виртуальных машинах Azure, развернутых с использованием модели Azure Resource Manager. Группе доступности нужен балансировщик нагрузки, если экземпляры SQL Server находятся на виртуальных машинах Azure. Балансировщик нагрузки хранит IP-адрес для прослушивателя группы доступности. Если группа доступности распространяется на несколько регионов, для каждого из них нужен отдельный балансировщик.

Для этого необходимо развернуть группу доступности Always On SQL Server на виртуальных машинах Azure с использованием модели Resource Manager. Обе виртуальные машины SQL Server должны принадлежать к одной и той же группе доступности. Вы можете использовать шаблон Майкрософт, чтобы автоматически создать группу доступности в Resource Manager. Этот шаблон также автоматически создает внутреннюю подсистему балансировки нагрузки.

При необходимости группу доступности можно настроить вручную.

Здесь предполагается, что группы доступности уже настроены.

Просмотреть связанные статьи:

Последовательно выполнив все действия этой статьи, вы создадите и настроите подсистему балансировки нагрузки на портале Azure. По завершении процесса вы настроите в кластере IP-адрес подсистемы балансировки нагрузки для прослушивателя группы доступности.

Создание и настройка подсистемы балансировки нагрузки

В этом разделе мы сделаем следующее:

  1. Создадим подсистему балансировки нагрузки и настроим IP-адрес на портале Azure.
  2. Настроим серверный пул.
  3. Создадим пробу.
  4. Настроим правила балансировки нагрузки.

Примечание.

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

Внимание

30 сентября 2025 г. номер SKU "Базовый" для Azure Load Balancer будет снят. Дополнительные сведения см. в официальном объявлении. Если вы используете базовую подсистему балансировки нагрузки, выполните обновление до Load Balancer (цен. категория до даты выхода на пенсию. Для получения рекомендаций ознакомьтесь с подсистемой балансировки нагрузки обновления.

Шаг 1. Создание подсистемы балансировки нагрузки и настройка IP-адреса

Сначала создайте подсистему балансировки нагрузки.

  1. На портале Azure откройте группу ресурсов, в которой содержатся виртуальные машины SQL Server.

  2. В группе ресурсов нажмите кнопку +Создать.

  3. Найдите балансировщик нагрузки. В результатах поиска выберите Load Balancer, опубликованный корпорацией Майкрософт.

  4. На панели Load Balancer нажмите кнопку "Создать".

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

    Параметр Поле
    Подписка Используйте подписку, в которой находится виртуальная машина.
    Группа ресурсов Используйте ту же группу ресурсов, что и виртуальная машина.
    Имя Используйте для подсистемы балансировки нагрузки текстовое имя, например sqlLB.
    Регион Используйте тот же регион, что и виртуальная машина.
    SKU Стандартные
    Тип Внутренняя

    Панель портал Azure должна выглядеть следующим образом:

    Screenshot of the Azure portal, Create Load Balancer page.

  6. Нажмите кнопку "Далее" — интерфейсная IP-конфигурация

  7. Выберите " Добавить интерфейсную IP-конфигурацию"

    Screenshot of Azure portal, Create load balancer page, showing frontend IP configuration tab

  8. Настройте внешний IP-адрес с помощью следующих значений:

    • Имя: имя, определяющее конфигурацию внешнего IP-адреса.
    • Виртуальная сеть. Виртуальная сеть, в которой находятся виртуальные машины.
    • Подсеть: подсеть в качестве виртуальных машин.
    • Назначение IP-адресов. Статические.
    • IP-адрес: используйте доступный адрес из подсети. Используйте этот адрес для прослушивателя группы доступности. Обратите внимание, что это отличается от IP-адреса кластера.
    • Зона доступности: при необходимости выберите и зону доступности для развертывания IP-адреса.

    На следующем рисунке показан пользовательский интерфейс настройки ВНЕШНЕГО IP-адреса :

    Screenshot of Azure portal, add frontend IP configuration page.

  9. Нажмите кнопку "Добавить ", чтобы создать внешний IP-адрес.

  10. Нажмите кнопку "Проверить и создать ", чтобы проверить конфигурацию, а затем создать подсистему балансировки нагрузки и внешний IP-адрес.

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

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

Шаг 2. Настройка внутреннего пула

В Azure серверный пул адресов называется просто серверным пулом. В этом случае серверный пул — это адреса двух экземпляров SQL Server в группе доступности.

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

    Screenshot of Azure portal, resource group page, searching for the Load Balancer.

  2. Откройте подсистему балансировки нагрузки, выберите Серверные пулы и нажмите кнопку + Добавить.

  3. Укажите имя внутреннего пула.

  4. Выберите сетевой адаптер для конфигурации внутреннего пула.

  5. Выберите "Добавить ", чтобы связать внутренний пул с группой доступности, содержащей виртуальные машины.

  6. В разделе "Виртуальная машина" выберите виртуальные машины SQL Server, на которых будут размещаться реплика группы доступности.

    Примечание.

    Если не указать обе виртуальные машины, будет установлено подключение только к первичной реплике.

  7. Выберите "Добавить", чтобы добавить виртуальные машины в внутренний пул.

  8. Нажмите кнопку "Сохранить", чтобы создать внутренний пул.

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

Шаг 3. Создание пробы

Проба определяет, как Azure будет проверять, какому из экземпляров SQL Server в данный момент принадлежит прослушиватель группы доступности. Azure проверяет службу по IP-адресу и порту, которые вы указываете при создании пробы.

  1. Откройте подсистему балансировки нагрузки, выберите Пробы работоспособности и нажмите кнопку + Добавить.

  2. Настройте пробу работоспособности прослушивателя, как показано ниже.

    Параметр Description Пример
    Имя Текст SQLAlwaysOnEndPointProbe
    Протокол Выберите TCP. TCP
    порт. Любой неиспользуемый порт. 59999
    Интервал Промежуток времени между повторными попытками выполнения пробы в секундах. 5
  3. Нажмите кнопку "Добавить ", чтобы задать пробу работоспособности.

Примечание.

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

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

Шаг 4. Настройка правил балансировки нагрузки

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

  1. Откройте подсистему балансировки нагрузки, выберите Правила балансировки нагрузки и нажмите кнопку + Добавить.

  2. Настройте правила балансировки нагрузки прослушивателя, как показано ниже.

    Параметр Description Пример
    Имя Текст SQLAlwaysOnEndPointListener
    Внешний IP-адрес Выберите адрес. Используйте адрес, который был создан при создании подсистемы балансировки нагрузки.
    Внутренний пул Выбор внутреннего пула Выберите внутренний пул, содержащий виртуальные машины, предназначенные для подсистемы балансировки нагрузки.
    Протокол Выберите TCP. TCP
    порт. Создайте порт для прослушивателя группы доступности 1433
    Серверный порт Это поле не используется, если для возврата прямого сервера задан ip-адрес с плавающей запятой 1433
    Проба работоспособности Имя, указанное для пробы. SQLAlwaysOnEndPointProbe
    Сохранение сеанса Раскрывающийся список. Не допускается
    Время ожидания простоя Интервал (в минутах), в течение которого подключение TCP остается открытым. 4
    Плавающий IP-адрес (прямой ответ от сервера) Топология потока и схема сопоставления IP-адресов Включен

    Предупреждение

    Параметры прямого ответа от сервера задаются во время создания. Их невозможно изменить.

    Примечание.

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

  3. Выберите "Сохранить", чтобы задать правила балансировки нагрузки прослушивателя.

Azure настроит правило балансировки нагрузки. Теперь подсистема балансировки нагрузки настроена для маршрутизации трафика в экземпляр SQL Server, на котором размещается прослушиватель для группы доступности.

На этом этапе группа ресурсов содержит подсистему балансировки нагрузки, через которую происходит подключение к обеим виртуальным машинам SQL Server. Подсистема балансировки нагрузки также содержит IP-адрес прослушивателя группы доступности AlwaysOn для SQL Server. Таким образом, любая виртуальная машина может отвечать на запросы для групп доступности.

Примечание.

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

Добавьте IP-адрес ядра кластера для отказоустойчивого кластера Windows Server (WSFC).

IP-адрес WSFC также должен находиться в подсистеме балансировки нагрузки. Если вы используете Windows Server 2019, пропустите этот процесс, так как кластер создает имя распределенного сервера вместо имени сети кластера.

  1. На портале Azure перейдите к этой же подсистеме балансировки нагрузки Azure. Выберите Конфигурация IP внешнего интерфейса и нажмите кнопку + Добавить. Используйте IP-адрес, настроенный для WSFC в ресурсах ядра кластера. Укажите статический IP-адрес.

  2. Откройте подсистему балансировки нагрузки, выберите Пробы работоспособности и нажмите кнопку + Добавить.

  3. Настройте пробу работоспособности IP-адреса ядра кластера WSFC следующим образом.

    Параметр Description Пример
    Имя Текст WSFCEndPointProbe
    Протокол Выберите TCP. TCP
    порт. Любой неиспользуемый порт. 58888
    Интервал Промежуток времени между повторными попытками выполнения пробы в секундах. 5
  4. Нажмите кнопку "Добавить ", чтобы задать пробу работоспособности.

  5. Настройте правила балансировки нагрузки. Выберите Правила балансировки нагрузки и нажмите кнопку + Добавить.

  6. Задайте правила балансировки нагрузки IP-адресов ядра кластера следующим образом.

    Параметр Description Пример
    Имя Текст WSFCEndPoint
    Внешний IP-адрес Выберите адрес. Используйте адрес, который был создан при настройке IP-адреса WSFC. Он отличается от IP-адреса прослушивателя
    Внутренний пул Выбор внутреннего пула Выберите внутренний пул, содержащий виртуальные машины, предназначенные для подсистемы балансировки нагрузки.
    Протокол Выберите TCP. TCP
    порт. Используйте порт для IP-адреса кластера. Это доступный порт, который не используется для порта пробы прослушивателя. 58888
    Серверный порт Это поле не используется, если для возврата прямого сервера задан ip-адрес с плавающей запятой 58888
    Проба Имя, указанное для пробы. WSFCEndPointProbe
    Сохранение сеанса Раскрывающийся список. Не допускается
    Время ожидания простоя Интервал (в минутах), в течение которого подключение TCP остается открытым. 4
    Плавающий IP-адрес (прямой ответ от сервера) Топология потока и схема сопоставления IP-адресов Включен

    Предупреждение

    Параметры прямого ответа от сервера задаются во время создания. Их невозможно изменить.

  7. Нажмите кнопку ОК, чтобы задать правила балансировки нагрузки.

Настройка использования IP-адреса балансировщика нагрузки для кластера

Теперь необходимо настроить прослушиватель в кластере и подключить его. Выполните следующие действия:

  1. Создайте прослушиватель группы доступности в отказоустойчивом кластере.

  2. Перевод прослушивателя в режим «в сети».

Шаг 5. Создание прослушивателя группы доступности в отказоустойчивом кластере

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

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

  1. Получите имя сетевого ресурса кластера:

    a. Подключитесь по протоколу RDP к виртуальной машине Azure, на которой размещена основная реплика.

    b. Откройте диспетчер отказоустойчивости кластеров.

    c. Выберите узел Сети и запишите имя сети кластера. Это имя нужно использовать в переменной $ClusterNetworkName в сценарии PowerShell. На следующем рисунке сетевое имя кластера — cluster Network 1:

    Screenshot that shows a cluster network name in Failover Cluster Manager.

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

    a. В диспетчере отказоустойчивости кластеров разверните имя кластера и выберите роли.

    b. В области ролей щелкните правой кнопкой мыши имя группы доступности и выберите пункт "Добавить точку доступа клиента ресурсов>".

    Screenshot of Failover Cluster Manager that shows selecting the Client Access Point command on the shortcut menu for the availability group.

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

    d. Чтобы завершить создание прослушивателя, нажмите кнопку "Далее " дважды и нажмите кнопку "Готово". Не используйте прослушиватель или ресурс в сети на этом этапе.

  3. Выполните роль кластера для группы доступности в автономном режиме. В диспетчере отказоустойчивых кластеров в разделе "Роли" щелкните правой кнопкой мыши роль и выберите " Остановить роль".

  4. Настройте IP-ресурс для группы доступности:

    a. Перейдите на вкладку "Ресурсы" и разверните созданную клиентом точку доступа. Точка доступа клиента не подключена к сети.

    Screenshot of Failover Cluster Manager that shows an offline status for a client access point.

    b. Щелкните правой кнопкой мыши ресурс IP-адреса и выберите пункт "Свойства". Запишите IP-адрес и используйте его в переменной $IPResourceName в скрипте PowerShell.

    c. В разделе IP-адрес выберите статический IP-адрес. Задайте тот же IP-адрес, который использовался на портале Azure при настройке адреса подсистемы балансировки нагрузки.

    Screenshot of Failover Cluster Manager that shows the selection of an IP address.

  5. Сделайте группу доступности SQL Server зависящей от точки доступа клиента:

    a. В диспетчере отказоустойчивости кластеров выберите роли и выберите группу доступности.

    b. На вкладке "Ресурсы" в разделе "Другие ресурсы" щелкните правой кнопкой мыши ресурс группы доступности и выберите пункт "Свойства".

    c. На вкладке зависимостей добавьте имя точки доступа клиента (прослушиватель).

    Screenshot of Failover Cluster Manager that shows adding a name on the Dependencies tab.

    d. Нажмите ОК.

  6. Сделайте точку доступа клиента зависящей от IP-адреса:

    a. В диспетчере отказоустойчивости кластеров выберите роли и выберите группу доступности.

    b. На вкладке "Ресурсы" щелкните правой кнопкой мыши точку доступа клиента в разделе "Имя сервера" и выберите пункт "Свойства".

    Screenshot of Failover Cluster Manager that shows the Properties menu option for the listener's name.

    c. Перейдите на вкладку "Зависимости ". Убедитесь, что IP-адрес является зависимостью. Если это не так, задайте зависимость от IP-адреса. Если перечислены несколько ресурсов, убедитесь, что IP-адреса имеют ИЛИ, а не И, зависимости. Затем выберите OK.

    Screenshot of the Dependencies tab that shows an IP resource for an availability group.

    Совет

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

  7. Задайте параметры кластера в PowerShell:

    a. Скопируйте следующий скрипт PowerShell на один из экземпляров SQL Server. Обновите переменные для среды.

    • $ClusterNetworkName Найдите имя в диспетчере отказоустойчивых кластеров, выбрав "Сети", щелкните сеть правой кнопкой мыши и выберите "Свойства". $ClusterNetworkName находится на вкладке "Имя" на вкладке "Общие".

    • $IPResourceName— это имя, заданное ресурсу IP-адреса в диспетчере отказоустойчивости кластеров. Это находится в диспетчере отказоустойчивых кластеров, выбрав роли, выберите имя группы доступности SQL Server или FCI, перейдите на вкладку "Ресурсы" в разделе "Имя сервера", щелкните правой кнопкой мыши ресурс IP-адреса и выберите "Свойства". Правильное значение находится на вкладке "Имя " на вкладке "Общие".

    • $ListenerILBIP — IP-адрес создан в подсистеме балансировки нагрузки Azure для прослушивателя группы доступности. Найдите $ListenerILBIP в диспетчере отказоустойчивости кластеров на той же странице свойств, что и имя ресурса прослушивателя SQL Server AG/FCI.

    • $ListenerProbePort — это порт, настроенный в подсистеме балансировки нагрузки Azure для прослушивателя группы доступности, например 59999. Допускается любой неиспользуемый TCP-порт.

    $ClusterNetworkName = "<MyClusterNetworkName>" # The cluster network name. Use Get-ClusterNetwork on Windows Server 2012 or later to find the name.
    $IPResourceName = "<IPResourceName>" # The IP address resource name.
    $ListenerILBIP = "<n.n.n.n>" # The IP address of the internal load balancer. This is the static IP address for the load balancer that you configured in the Azure portal.
    [int]$ListenerProbePort = <nnnnn>
    
    Import-Module FailoverClusters
    
    Get-ClusterResource $IPResourceName | Set-ClusterParameter -Multiple @{"Address"="$ListenerILBIP";"ProbePort"=$ListenerProbePort;"SubnetMask"="255.255.255.255";"Network"="$ClusterNetworkName";"EnableDhcp"=0}
    

    b. Задайте параметры кластера, выполнив скрипт PowerShell на одном из узлов кластера.

    Примечание.

    Если экземпляры SQL Server находятся в разных регионах, необходимо дважды запустить сценарий PowerShell. В первый раз используйте $ListenerILBIP значения $ListenerProbePort из первого региона. Во второй раз используйте $ListenerILBIP значения $ListenerProbePort из второго региона. Имя сети кластера и имя ресурса IP-кластера разные для каждого региона.

  8. Доведите роль кластера для группы доступности в сети. В диспетчере отказоустойчивых кластеров в разделе "Роли" щелкните правой кнопкой мыши роль и выберите " Пуск роли".

При необходимости повторите описанные выше действия, чтобы задать параметры кластера для IP-адреса отказоустойчивого кластера Windows Server:

  1. Получите ИМЯ IP-адреса отказоустойчивого кластера Windows Server. В диспетчере отказоустойчивости кластеров в разделе "Ресурсы ядра кластера" найдите имя сервера.

  2. Щелкните правой кнопкой мыши IP-адрес и выберите пункт "Свойства".

  3. Скопируйте имя IP-адреса из имени. Это может быть IP-адрес кластера.

  4. Задайте параметры кластера в PowerShell:

    a. Скопируйте следующий скрипт PowerShell на один из экземпляров SQL Server. Обновите переменные для среды.

    • $ClusterCoreIP — это IP-адрес, созданный в подсистеме балансировки нагрузки Azure для основного ресурса кластера отказоустойчивого кластера Windows Server. Он отличается от IP-адреса прослушивателя группы доступности.

    • $ClusterProbePort — это порт, настроенный в подсистеме балансировки нагрузки Azure для пробы работоспособности отказоустойчивого кластера Windows Server. Это отличается от пробы прослушивателя группы доступности.

    $ClusterNetworkName = "<MyClusterNetworkName>" # The cluster network name. Use Get-ClusterNetwork on Windows Server 2012 or later to find the name.
    $IPResourceName = "<ClusterIPResourceName>" # The IP address resource name.
    $ClusterCoreIP = "<n.n.n.n>" # The IP address of the cluster IP resource. This is the static IP address for the load balancer that you configured in the Azure portal.
    [int]$ClusterProbePort = <nnnnn> # The probe port from WSFCEndPointprobe in the Azure portal. This port must be different from the probe port for the availability group listener.
    
    Import-Module FailoverClusters
    
    Get-ClusterResource $IPResourceName | Set-ClusterParameter -Multiple @{"Address"="$ClusterCoreIP";"ProbePort"=$ClusterProbePort;"SubnetMask"="255.255.255.255";"Network"="$ClusterNetworkName";"EnableDhcp"=0}
    

    b. Задайте параметры кластера, выполнив скрипт PowerShell на одном из узлов кластера.

Если любой ресурс SQL настроен для использования порта от 49152 до 65536 ( динамический диапазон портов по умолчанию для TCP/IP), добавьте исключение для каждого порта. Такие ресурсы могут включать:

  • Ядро СУБД SQL Server
  • Прослушиватель группы доступности AlwaysOn
  • Проверка работоспособности экземпляра отказоустойчивого кластера
  • Конечная точка зеркального отображения базы данных
  • Ресурс IP-адреса ядра кластера

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

  • netsh int ipv4 add excludedportrange tcp startport=58888 numberofports=1 store=persistent
  • netsh int ipv4 add excludedportrange tcp startport=59999 numberofports=1 store=persistent

Важно настроить исключение портов, если порт не используется. В противном случае команда завершится ошибкой, например "Процесс не может получить доступ к файлу, так как он используется другим процессом". Чтобы убедиться, что исключения настроены правильно, используйте следующую команду: netsh int ipv4 show excludedportrange tcp

Предупреждение

Порт для пробы работоспособности прослушивателя группы доступности должен отличаться от порта для пробы работоспособности основного IP-адреса кластера. В этих примерах порт прослушивателя равен 59999, а порт пробы работоспособности основного IP-адреса кластера — 58888. Оба порта требуют правила брандмауэра "разрешить входящий трафик".

Проверка конфигурации прослушивателя

Если ресурсы и зависимости кластера настроены правильно, вы увидите прослушиватель в SQL Server Management Studios. Чтобы задать порт прослушивателя, сделайте следующее:

  1. Запустите SQL Server Management Studio и подключитесь к основной реплике.

  2. Перейдите к прослушивателям групп>доступности AlwaysOn с высоким уровнем доступности.>

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

  3. Щелкните имя прослушивателя правой кнопкой мыши и выберите пункт Свойства.

  4. В поле Порт укажите номер порта для прослушивателя группы доступности с помощью использованного ранее параметра $EndpointPort (по умолчанию использовалось значение "1433") и нажмите кнопку ОК.

Теперь у вас есть группа доступности на виртуальных машинах Azure, работающих в режиме Resource Manager.

Проверка подключения к прослушивателю

Чтобы проверить подключение, сделайте следующее:

  1. Используйте протокол удаленного рабочего стола (RDP) для подключения к экземпляру SQL Server, который находится в той же виртуальной сети, но не владеет реплика. Этот сервер может быть другим экземпляром SQL Server в кластере.

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

    sqlcmd -S <listenerName> -E
    

SQLCMD автоматически подключается к экземпляру SQL Server, на котором размещена основная реплика.

Создание IP-адреса для дополнительной группы доступности

Каждая группа доступности использует отдельный прослушиватель. У каждого прослушивателя имеется собственный IP-адрес. Используйте одну подсистему балансировки нагрузки для обслуживания IP-адреса для дополнительных прослушивателей. Добавьте только основной IP-адрес виртуальной машины в внутренний пул подсистемы балансировки нагрузки, так как дополнительный IP-адрес виртуальной машины не поддерживает плавающий IP-адрес.

Чтобы добавить IP-адрес в подсистему балансировки нагрузки с помощью портала Azure, сделайте следующее:

  1. На портале Azure откройте группу ресурсов, содержащую подсистему балансировки нагрузки, и выберите эту подсистему.

  2. В разделе Параметры выберите конфигурацию внешнего IP-адреса и нажмите кнопку +Добавить.

  3. В разделе Добавить внешний IP-адрес укажите имя внешнего интерфейса.

  4. Убедитесь, что указаны те же виртуальная сеть и подсеть, что и для экземпляров SQL Server.

  5. Задайте IP-адрес для прослушивателя.

    Совет

    Можно задать статический IP-адрес, который в настоящее время не используется в подсети. Кроме того, можно задать динамический IP-адрес и сохранить новый пул внешних IP-адресов. При этом портал Azure автоматически назначит пулу доступный IP-адрес. Затем можно будет повторно открыть пул внешних IP-адресов и изменить этот адрес на статический.

  6. Сохраните IP-адрес прослушивателя, нажав кнопку "Добавить".

  7. Добавьте пробу работоспособности, выбрав пробы работоспособности в Параметры и используйте следующие параметры:

    Параметр Значение
    Имя Имя для идентификации пробы.
    Протокол TCP
    порт. Неиспользуемый TCP-порт, который должен быть доступен для всех виртуальных машин. Его нельзя использовать для других целей. Два прослушивателя не могут использовать один и тот же порт пробы.
    Интервал Промежуток времени между повторными попытками выполнения пробы. Используйте значение по умолчанию (5).
  8. Нажмите кнопку Добавить, чтобы сохранить пробу.

  9. Создайте правило балансировки нагрузки. В разделе Параметры выберите правила балансировки нагрузки и нажмите кнопку +Добавить.

  10. Настройте новое правило балансировки нагрузки, используя указанные ниже параметры.

    Параметр Значение
    Имя Имя для идентификации правила балансировки нагрузки.
    Внешний IP-адрес Выберите IP-адрес, который вы создали.
    Внутренний пул Пул, содержащий виртуальные машины с экземплярами SQL Server.
    Протокол TCP
    порт. Укажите порт, используемый экземплярами SQL Server. Экземпляр по умолчанию использует порт 1433, если только вы не изменили его.
    Внутренний порт Укажите то же значение, что и для параметра Порт.
    Проба работоспособности Выберите пробу, которую вы создали.
    Сохранение сеанса нет
    Время ожидания простоя (в минутах) Оставьте значение по умолчанию (4).
    Плавающий IP-адрес (прямой ответ от сервера) Включен

Настройка группы доступности для использования нового IP-адреса

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

После добавления IP-адреса прослушивателя настройте дополнительную группу доступности, выполнив следующие действия:

  1. Убедитесь, что порт пробы для нового IP-адреса открыт на обеих виртуальных машинах SQL Server.

  2. Создайте точку доступа клиента в диспетчере кластеров.

  3. Настройте ресурс IP-адреса для группы доступности.

    Внимание

    При создании IP-адрес используйте IP-адрес, добавленный в подсистему балансировки нагрузки.

  4. Сделайте так, чтобы ресурс группы доступности SQL Server зависел от точки доступа клиента.

  5. Сделайте так, чтобы ресурс точки доступа клиента зависел от IP-адреса.

  6. Настройте параметры кластера в PowerShell.

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

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

Clear-Host
Get-ClusterResource `
| Where-Object {$_.ResourceType.Name -like "IP Address"} `
| Get-ClusterParameter `
| Where-Object {($_.Name -like "Network") -or ($_.Name -like "Address") -or ($_.Name -like "ProbePort") -or ($_.Name -like "SubnetMask")}

Добавление правила балансировки нагрузки для распределенной группы доступности

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

Внимание

Этот шаг применяется, только если группа доступности включена в распределенную группу доступности.

  1. На каждом сервере, включенном в распределенную группу доступности, создайте входящее правило на TCP-порту прослушивателя этой группы доступности. В документации во многих примерах используется порт 5022.

  2. В портал Azure выберите подсистему балансировки нагрузки и выберите правила балансировки нагрузки, а затем нажмите кнопку +Добавить.

  3. Создайте правило балансировки нагрузки со следующими параметрами:

    Параметр Значение
    Имя Имя для идентификации правила балансировки нагрузки для распределенной группы доступности.
    Внешний IP-адрес Используйте тот же интерфейсный IP-адрес, что и для группы доступности.
    Внутренний пул Пул, содержащий виртуальные машины с экземплярами SQL Server.
    Протокол TCP
    порт. 5022 — порт для прослушивателя конечной точки распределенной группы доступности.
    Это может быть любой доступный порт.
    Внутренний порт 5022 — укажите то же значение, что и для параметра Порт.
    Проба работоспособности Выберите пробу, которую вы создали.
    Сохранение сеанса нет
    Время ожидания простоя (в минутах) Оставьте значение по умолчанию (4).
    Плавающий IP-адрес (прямой ответ от сервера) Включен

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

Если у вас есть группа безопасности сети Azure для ограничения доступа, убедитесь, что правила разрешения включают:

  • IP-адреса виртуальной машины SQL Server;
  • плавающие IP-адреса подсистемы балансировки нагрузки для прослушивателя группы доступности;
  • основной IP-адрес кластера, если применимо.

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

Дополнительные сведения см. на следующих ресурсах: