Availability Group Listeners - Create Or Update

Создает или обновляет прослушиватель группы доступности.

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/{sqlVirtualMachineGroupName}/availabilityGroupListeners/{availabilityGroupListenerName}?api-version=2021-11-01-preview

Параметры URI

Name In Required Type Description
availabilityGroupListenerName
path True
  • string

Имя прослушивателя группы доступности.

resourceGroupName
path True
  • string

Имя группы ресурсов, к которой относится ресурс. Это значение можно получить от API-интерфейса диспетчера ресурсов Azure или портала.

sqlVirtualMachineGroupName
path True
  • string

Имя группы виртуальных машин SQL.

subscriptionId
path True
  • string

Идентификатор подписки, идентифицирующий подписку Azure.

api-version
query True
  • string

Версия API, используемая для запроса.

Текст запроса

Name Type Description
properties.availabilityGroupConfiguration

Конфигурация группы доступности.

properties.availabilityGroupName
  • string

Имя группы доступности.

properties.createDefaultAvailabilityGroupIfNotExist
  • boolean

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

properties.loadBalancerConfigurations

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

properties.port
  • integer

Порт прослушивателя.

Ответы

Name Type Description
200 OK

Прослушиватель группы доступности успешно обновлен.

201 Created

Успешно создан прослушиватель группы доступности.

Other Status Codes

Ответы на ошибки: ***

  • 400 InvalidParameterValue — недопустимое значение было присвоено параметру.

  • 400 RPGenericUser — сбой пользователя при вызове другого поставщика ресурсов.

  • 400 RPResponseMissingAsyncOperationHeader — в ответе отсутствуют сведения о заголовке операции Async

  • 400 InvalidArgument — недопустимый аргумент '{0}'.

  • 400 ArgumentNotInRange — аргумент "{0}" не в диапазоне.

  • 400 ResourceNotProvisioned — как ресурс: {0} не находится в подготовленном состоянии, запрос невозможно продолжить.

  • 400 CRPNotAllowedOperation — операция не может быть завершена из-за следующей ошибки: {0}

  • 400 AadAppDisabled — приложение Microsoft AAD SQLVMResourceProviderAuth ({0}) отключено в клиенте.

  • 400 InvalidRgResourceId — указан недопустимый идентификатор ресурса группы ресурсов.

  • 400 InternalAPIAccessDenied — внутренний доступ к API запрещен. Идентификатор {0} приложения недопустим для использования этого API.

  • 400 AgDoesNotExist — группа доступности не существует.

  • 400 AgListDoesNotMatch — SQL список групп доступности не соответствует списку виртуальных машин в группе виртуальных машин SQL.

  • 400 NoIpProvided — необходимо указать по крайней мере один IP-адрес.

  • 400 MoreIpProvided — необходимо указать только один IP-адрес.

  • 400 SqlVmGroupDoesNotHaveAGListener — SQL группа виртуальных машин не имеет прослушивателя группы доступности.

  • 400 AgListenerUpdateNotAllowed — можно обновить только несколько свойств прослушивателя группы доступности.

  • 400 SqlVmNotInGroup — SQL виртуальная машина не входит в группу.

  • 400 SqlVmListCannotBeEmpty — SQL список виртуальных машин не может быть пустым.

  • 400 PublicIpNotIPv4 — общедоступный IP-адрес должен быть IPv4-адресом.

  • 400 PublicIPDynamicAllocation — режим выделения общедоступных IP-адресов должен быть статическим

  • 400 PublicLBInvalid — указанная подсистема балансировки нагрузки не является общедоступной.

  • 400 SubnetMissingFromPrivateIP — подсеть должна быть предоставлена с частным IP-адресом.

  • 400 IPNotInSubnet — IP-адрес не является частью подсети.

  • 400 NoActivePrimaryInAG — ни один из узлов в группе доступности не является основным

  • 400 MultipleListenerSameAG — несколько прослушивателей групп доступности для одной группы доступности запрещены.

  • 400 AgListenerNotEmpty — прослушиватель группы доступности не пустой.

  • 400 AgListenerVnetMismatch — предоставленная виртуальная сеть для прослушивателя группы доступности не соответствует виртуальной сети внутренней подсистемы балансировки нагрузки.

  • 400 InternalLBInvalid — указанная подсистема балансировки нагрузки не является внутренней.

  • 400 InvalidSqlVmResourceIdParameterValue — SQL указан недопустимый идентификатор ресурса виртуальной машины.

  • 400 DifferentSubSqlVmList — все SQL виртуальные машины должны находиться в одной подписке.

  • 400 OnlyStandardPublicIp — каждая виртуальная машина должна иметь стандартный общедоступный IP-адрес.

  • 400 ListenerNameTooLong — имя прослушивателя не должно превышать 15 символов.

  • 400 InvalidListenerName — недопустимое имя прослушивателя.

  • 400 InvalidLBResourceIdParameterValue — недопустимый идентификатор ресурса подсистемы балансировки нагрузки.

  • 400 InvalidPublicIpResourceIdParameterValue — недопустимый идентификатор ресурса общедоступного IP-адреса.

  • 400 InvalidSubnetIdParameterValue — недопустимый идентификатор ресурса, указанный для параметра подсети.

  • 400 InvalidPrivateIpParameterValue — недопустимый адрес, заданный для частного IP-адреса.

  • 400 ExtVersionNotSupported — виртуальная машина: {0} работает под управлением более старой версии SqlIaasExtension, которая не поддерживается этой операцией. Обновите расширение и повторите операцию.

  • 400 InvalidReplicaRole — недопустимая роль реплики, {0} указанная для виртуальной машины SQL: {1}.

  • 400 InvalidReplicaFailover — недопустимая отработка отказа реплики: {0} для SQL виртуальной машины: {1}.

  • 400 InvalidReplicaReadableSecondary — недопустимая реплика для чтения вторичная: {0} для SQL виртуальной машины: {1}.

  • 400 InvalidReplicaCommit — режим фиксации недопустимой реплики: {0} для виртуальной машины SQL: {1}.

  • 400 ExpectedSynchronousCommitForAutomaticFailover — режим фиксации недопустимой реплики: {0} для виртуальной машины SQL: {1}. {2} ожидается для режима отработки отказа: {3}.

  • 400 NoPrimaryInAg — нет реплик с первичной ролью. Должна быть ровно одна реплика с ролью в качестве первичной.

  • 400 MoreThanOnePrimaryInAg — существует несколько реплик с первичной ролью. Должна быть ровно одна реплика с ролью в качестве первичной.

  • 400 MoreThanThreeSynchronousCommitInAg — существует более трех реплик с режимом фиксации: {0} Должно быть не более трех реплик с режимом фиксации: {0}

  • 400 MoreThanEightSecondariesInAg — существует более восьми вторичных реплик с вторичной ролью. В качестве вторичной реплики должна быть не более восьми реплик.

  • 400 AlwaysOnNotEnabled — функция Always On не включена на виртуальной машине: {0}

  • 400 ExpectedReplicaNotPrimary — виртуальная машина: {0} не размещает первичную реплику.

  • 400 LoadBalancerSqlvmsMismatchWithReplicaSqlvms — список SQL виртуальных машин, указанных в группе доступности, не соответствует списку виртуальных машин SQL в конфигурации подсистемы балансировки нагрузки.

  • 400 ReplicaSqlvmHasDuplicateEntries — конфигурация реплики должна быть уникальной для каждой виртуальной машины SQL. Мы обнаружили одну или несколько конфигураций для одного и того же ресурса виртуальной машины SQL.

  • 400 ReplicaDeleteNotAllowed — удаление реплики через SQL RP виртуальной машины пока не поддерживается.

  • 400 OnlyBasicPublicIP — все указанные виртуальные машины должны содержать только базовый общедоступный IP-адрес при предоставлении номера SKU уровня "Базовый" loadbalancer.

  • 400 NICCannotUseMultipleLBsOfSameType — NIC: не может ссылаться на несколько подсистем балансировки нагрузки внутреннего или общедоступного типа. {0}

  • 400 AGReplicaSQLStartupAccount — учетная запись службы NT не может использоваться в качестве SQL учетной записи запуска для настройки группы доступности. Следует использовать учетную запись домена.

  • 400 AgListenerMultiSubnetUpdateNotAllowed — обновление прослушивателя группы доступности с несколькими подсетями запрещено.

  • 400 ListenerIpSubnetVmSubnetMismatch — подсеть статического IP-адреса прослушивателя и подсеть виртуальной машины должны совпадать

  • 400 VmNicVnetMismatch — несоответствие виртуальной сети виртуальной сети виртуальной машины.

  • 400 NoAvailabilitySet — виртуальная машина не связана с какой-либо группой доступности.

  • 400 AvailabilitySetMismatch — группа доступности виртуальных машин не совпадает.

  • 400 MismatchVmGroupSubscription — идентификатор подписки для виртуальной машины SQL и группы виртуальных машин SQL отличаются.

  • 400 VmNotRunning — виртуальная машина не находится в состоянии выполнения.

  • 400 VmAgentNotRunning — агент виртуальной машины не установлен или находится в состоянии выполнения.

  • 400 NoIpAvailable — нет доступного IP-адреса.

  • 403 AccessDenied — доступ запрещен.

  • 404 ResourceNotFound — запрошенный ресурс не найден.

  • 404 SubscriptionDoesNotExist — идентификатор подписки не существует.

  • 404 ResourceDoesNotExist — ресурс не существует.

  • 404 RPOperationNotFound — операция не найдена

  • 404 OperationIdNotFound — не удалось найти идентификатор операции.

  • 404 OperationTypeNotFound — тип операции не найден.

  • 404 SubscriptionDoesNotHaveSqlVMGroupInResourceGroup — подписка не содержит SQL группу виртуальных машин в группе ресурсов.

  • 409 ResourceAlreadyExists — ресурс уже существует.

  • 409 LBGenericErrors — сбой операции балансировки нагрузки

  • 409 NICGenericError — сбой операции сетевого адаптера

  • 409 SqlExtensionNotInstalled — SQL расширение не установлено.

  • 409 RPPluginSubstatusMissing — отсутствует подстатус подключаемого модуля RP

  • 409 MissingMoveResources — не удается переместить ресурсы, так как некоторые ресурсы отсутствуют в запросе.

  • 409 ResourceExists — произошла внутренняя ошибка при очистке ресурсов.

  • 409 SubscriptionOperationInProgress — операция с подпиской уже выполняется

  • 409 OperationInProgress — операция выполняется в ресурсе.

  • 409 OperationCanceled — операция отменена.

  • 409 ReplicasWithDifferentSqlStartupAccounts — убедитесь, что все учетные записи запуска сервера SQL в указанных репликах одинаковы. Это одна из наших предварительных требований для настройки групп доступности.

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

  • 409 IPNotAvailable — IP-адрес {0} недоступен{1}. Рассмотрите возможность использования одного из ({2})

  • 409 IpAddressAlreadyReserved — IP-адрес, зарезервированный для этого прослушивателя, уже существует. Используйте IP-адрес

  • 429 TooManyRequestsReceived -

  • 500 RPGenericSystem — сбой системы при вызове другого поставщика ресурсов.

  • 500 UnExpectedErrorOccurred — произошла непредвиденная ошибка.

  • 500 OperationTimeout — истекло время ожидания операции.

  • 500 SqlVmGroupIsBusy — SQL группа виртуальных машин занята.

Примеры

Creates or updates an availability group listener.

Sample Request

PUT https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/testvmgroup/availabilityGroupListeners/agl-test?api-version=2021-11-01-preview

{
  "properties": {
    "availabilityGroupName": "ag-test",
    "loadBalancerConfigurations": [
      {
        "privateIpAddress": {
          "ipAddress": "10.1.0.112",
          "subnetResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default"
        },
        "loadBalancerResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb-test",
        "probePort": 59983,
        "sqlVirtualMachineInstances": [
          "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm2",
          "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm3"
        ]
      }
    ],
    "port": 1433
  }
}

Sample Response

{
  "properties": {
    "provisioningState": "Updating",
    "loadBalancerConfigurations": [
      {
        "privateIpAddress": {
          "ipAddress": "10.1.0.113",
          "subnetResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default"
        },
        "sqlVirtualMachineInstances": [
          "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm2",
          "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm3"
        ]
      }
    ],
    "port": 1433
  },
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/testvmgroup/availabilityGroupListeners/agl-test",
  "name": "agl-test",
  "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/availabilityGroupListeners"
}
{
  "properties": {
    "provisioningState": "Provisioning",
    "loadBalancerConfigurations": [
      {
        "privateIpAddress": {
          "ipAddress": "10.1.0.112",
          "subnetResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default"
        },
        "sqlVirtualMachineInstances": [
          "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm2",
          "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm3"
        ]
      }
    ],
    "port": 1433
  },
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/testvmgroup/availabilityGroupListeners/agl-test",
  "name": "agl-test",
  "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/availabilityGroupListeners"
}

Определения

AgConfiguration

Конфигурация группы доступности.

AgReplica

Конфигурация реплики группы доступности.

AvailabilityGroupListener

Прослушиватель группы доступности SQL Server.

Commit

Режим фиксации реплики в группе доступности.

createdByType

Тип удостоверения, создавшего ресурс.

Failover

Режим отработки отказа реплики в группе доступности.

LoadBalancerConfiguration

Конфигурация подсистемы балансировки нагрузки для прослушивателя группы доступности.

PrivateIPAddress

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

ReadableSecondary

Вторичный режим для чтения реплики в группе доступности.

Role

Роль реплики в группе доступности.

systemData

Метаданные, относящиеся к созданию и последнему модификации ресурса.

AgConfiguration

Конфигурация группы доступности.

Name Type Description
replicas

Конфигурации реплики.

AgReplica

Конфигурация реплики группы доступности.

Name Type Description
commit

Режим фиксации реплики в группе доступности.

failover

Режим отработки отказа реплики в группе доступности.

readableSecondary

Вторичный режим для чтения реплики в группе доступности.

role

Роль реплики в группе доступности.

sqlVirtualMachineInstanceId
  • string

Идентификатор экземпляра Sql VirtualMachine.

AvailabilityGroupListener

Прослушиватель группы доступности SQL Server.

Name Type Description
id
  • string

Идентификатор ресурса.

name
  • string

Имя ресурса.

properties.availabilityGroupConfiguration

Конфигурация группы доступности.

properties.availabilityGroupName
  • string

Имя группы доступности.

properties.createDefaultAvailabilityGroupIfNotExist
  • boolean

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

properties.loadBalancerConfigurations

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

properties.port
  • integer

Порт прослушивателя.

properties.provisioningState
  • string

Состояние подготовки для отслеживания состояния асинхронной операции.

systemData

Метаданные, относящиеся к созданию и последнему модификации ресурса.

type
  • string

Тип ресурса.

Commit

Режим фиксации реплики в группе доступности.

Name Type Description
ASYNCHRONOUS_COMMIT
  • string
SYNCHRONOUS_COMMIT
  • string

createdByType

Тип удостоверения, создавшего ресурс.

Name Type Description
Application
  • string
Key
  • string
ManagedIdentity
  • string
User
  • string

Failover

Режим отработки отказа реплики в группе доступности.

Name Type Description
AUTOMATIC
  • string
MANUAL
  • string

LoadBalancerConfiguration

Конфигурация подсистемы балансировки нагрузки для прослушивателя группы доступности.

Name Type Description
loadBalancerResourceId
  • string

Идентификатор ресурса подсистемы балансировки нагрузки.

privateIpAddress

Частный IP-адрес.

probePort
  • integer

Порт пробы.

publicIpAddressResourceId
  • string

Идентификатор ресурса общедоступного IP-адреса.

sqlVirtualMachineInstances
  • string[]

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

PrivateIPAddress

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

Name Type Description
ipAddress
  • string

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

subnetResourceId
  • string

Подсеть, используемая для включения частного IP-адреса.

ReadableSecondary

Вторичный режим для чтения реплики в группе доступности.

Name Type Description
ALL
  • string
NO
  • string
READ_ONLY
  • string

Role

Роль реплики в группе доступности.

Name Type Description
PRIMARY
  • string
SECONDARY
  • string

systemData

Метаданные, относящиеся к созданию и последнему модификации ресурса.

Name Type Description
createdAt
  • string

Метка времени создания ресурса (UTC).

createdBy
  • string

Удостоверение, создающее ресурс.

createdByType

Тип удостоверения, создавшего ресурс.

lastModifiedAt
  • string

Метка времени последнего изменения ресурса (UTC)

lastModifiedBy
  • string

Удостоверение, которое последнее изменение ресурса.

lastModifiedByType

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