Availability Group Listeners - Create Or Update

Crea o actualiza un agente de escucha de grupo de disponibilidad.

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

Parámetros de identificador URI

Name In Required Type Description
availabilityGroupListenerName
path True
  • string

Nombre del agente de escucha del grupo de disponibilidad.

resourceGroupName
path True
  • string

Nombre del grupo de recursos que contiene el recurso. Puede obtener este valor en la API del Administrador de recursos o el portal de Azure.

sqlVirtualMachineGroupName
path True
  • string

Nombre del grupo de máquinas virtuales SQL.

subscriptionId
path True
  • string

Identificador de suscripción que identifica una suscripción de Azure.

api-version
query True
  • string

Versión de API que se va a usar para la solicitud.

Cuerpo de la solicitud

Name Type Description
properties.availabilityGroupConfiguration

Configuración del grupo de disponibilidad.

properties.availabilityGroupName
  • string

Nombre del grupo de disponibilidad.

properties.createDefaultAvailabilityGroupIfNotExist
  • boolean

Cree un grupo de disponibilidad predeterminado si no existe.

properties.loadBalancerConfigurations

Lista de configuraciones del equilibrador de carga para un agente de escucha de grupo de disponibilidad.

properties.port
  • integer

Puerto del agente de escucha.

Respuestas

Name Type Description
200 OK

Se actualizó correctamente el agente de escucha del grupo de disponibilidad.

201 Created

Se creó correctamente el agente de escucha del grupo de disponibilidad.

Other Status Codes

Respuestas de error: ***

  • 400 InvalidParameterValue: se ha dado un valor no válido al parámetro .

  • 400 RPGenericUser: error de usuario al llamar a otro proveedor de recursos.

  • 400 RPResponseMissingAsyncOperationHeader: falta información de encabezado de operación asincrónica de respuesta

  • 400 InvalidArgument: argumento '{0}' no válido.

  • 400 ArgumentNotInRange: el argumento '{0}' no está en el intervalo.

  • 400 ResourceNotProvisioned: como recurso: {0} no está en un estado aprovisionado, la solicitud no se puede reenviar.

  • 400 CRPNotAllowedOperation: no se puede completar la operación debido al siguiente error: {0}

  • 400 AadAppDisabled: la aplicación de Microsoft AAD SQLVMResourceProviderAuth ({0}) está deshabilitada en el inquilino.

  • 400 InvalidRgResourceId: se especificó un identificador de recurso de grupo de recursos no válido.

  • 400 InternalAPIAccessDenied: acceso interno a la API denegado. El identificador de {0} aplicación no es válido para usar esta API.

  • 400 AgDoesNotExist: el grupo de disponibilidad no existe.

  • 400 AgListDoesNotMatch: SQL lista de grupos de disponibilidad no coincide con la lista de máquinas virtuales de SQL grupo de máquinas virtuales.

  • 400 NoIpProvided: es necesario proporcionar al menos una dirección IP.

  • 400 MoreIpProvided: solo se debe proporcionar una dirección IP.

  • 400 SqlVmGroupDoesNotHaveAGListener: SQL grupo de máquinas virtuales no tiene el agente de escucha del grupo de disponibilidad.

  • 400 AgListenerUpdateNotAllowed: solo se pueden actualizar algunas propiedades del agente de escucha del grupo de disponibilidad.

  • 400 SqlVmNotInGroup: SQL máquina virtual no forma parte del grupo.

  • 400 SqlVmListCannotBeEmpty: SQL lista de máquinas virtuales no puede estar vacía.

  • 400 PublicIpNotIPv4: la dirección IP pública debe ser IPv4.

  • 400 PublicIPDynamicAllocation: el modo de asignación de IP pública debe ser estático

  • 400 PublicLBInvalid: el equilibrador de carga especificado no es público.

  • 400 SubredMissingFromPrivateIP: la subred debe proporcionarse con la dirección IP privada.

  • 400 IPNotInSubnet: ip no forma parte de la subred.

  • 400 NoActivePrimaryInAG: ninguno de los nodos de AvailabilityGroup es principal.

  • 400 MultipleListenerSameAG: no se permiten varios agentes de escucha de grupo de disponibilidad para el mismo grupo de disponibilidad.

  • 400 AgListenerNotEmpty: el agente de escucha del grupo de disponibilidad no está vacío.

  • 400 AgListenerVnetMismatch: la red virtual proporcionada para el agente de escucha del grupo de disponibilidad no coincide con la red virtual del equilibrador de carga interno.

  • 400 InternalLBInvalid: el equilibrador de carga especificado no es interno.

  • 400 InvalidSqlVmResourceIdParameterValue: SQL identificador de recurso de máquina virtual proporcionado no es válido.

  • 400 DifferentSubSqlVmList: todas las máquinas virtuales SQL deben estar en la misma suscripción.

  • 400 OnlyStandardPublicIp: todas las máquinas virtuales deben tener una dirección IP pública estándar.

  • 400 ListenerNameTooLong: el nombre del agente de escucha no debe superar los 15 caracteres.

  • 400 InvalidListenerName: nombre del agente de escucha no válido.

  • 400 InvalidLBResourceIdParameterValue: el identificador de recurso del equilibrador de carga no es válido.

  • 400 InvalidPublicIpResourceIdParameterValue: el identificador de recurso de ip pública no es válido.

  • 400 InvalidSubnetIdParameterValue: identificador de recurso no válido proporcionado para el parámetro de subred.

  • 400 InvalidPrivateIpParameterValue: dirección no válida dada para la dirección IP privada.

  • 400 ExtVersionNotSupported: la máquina virtual: {0} ejecuta una versión anterior de SqlIaasExtension que no es compatible con esta operación. Actualice la extensión y vuelva a intentar la operación.

  • 400 InvalidReplicaRole: rol de réplica no válido: {0} especificado para SQL máquina virtual: {1}.

  • 400 InvalidReplicaFailover: conmutación por error de réplica no válida: {0} para SQL máquina virtual: {1}.

  • 400 InvalidReplicaReadableSecondary: secundaria legible de réplica no válida: {0} para SQL máquina virtual: {1}.

  • 400 InvalidReplicaCommit: modo de confirmación de réplica no válido: {0} para SQL máquina virtual: {1}.

  • 400 ExpectedSynchronousCommitForAutomaticFailover: modo de confirmación de réplica no válido: {0} para SQL máquina virtual: {1}. {2} se espera para el modo de conmutación por error: {3}.

  • 400 NoPrimaryInAg: no hay réplicas con el rol principal. Debe haber exactamente una réplica con el rol principal.

  • 400 MoreThanOnePrimaryInAg: hay más de una réplica con el rol principal. Debe haber exactamente una réplica con el rol principal.

  • 400 MoreThanThreeSynchronousCommitInAg: hay más de tres réplicas con el modo de confirmación como: {0}. Debe haber como máximo tres réplicas con el modo de confirmación como: {0}

  • 400 MoreThanEightSecondariesInAg: hay más de ocho réplicas secundarias con el rol secundario. Debe haber al menos ocho réplicas con el rol como secundario.

  • 400 AlwaysOnNotEnabled: la característica AlwaysOn On no está habilitada en la máquina virtual: {0}.

  • 400 ExpectedReplicaNotPrimary: la máquina virtual: {0} no hospeda la réplica principal.

  • 400 LoadBalancerSqlvmsMismatchWithReplicaSqlvms: la lista de máquinas virtuales de SQL especificadas en el grupo de disponibilidad no coincide con la lista de máquinas virtuales de SQL en la configuración del equilibrador de carga.

  • 400 ReplicaSqlvmHasDuplicateEntries: la configuración de réplica debe ser única para cada máquina virtual SQL. Hemos encontrado una o varias configuraciones para el mismo recurso de máquina virtual SQL.

  • 400 ReplicaDeleteNotAllowed: aún no se admite la eliminación de réplicas a través de SQL RP de máquina virtual.

  • 400 OnlyBasicPublicIP: todas las máquinas virtuales especificadas deben contener solo la dirección IP pública básica al proporcionar la SKU básica de Loadbalancer.

  • 400 NICCannotUseMultipleLBsOfSameType - NIC: {0} no puede hacer referencia a más de un equilibrador de carga de tipo INTERNAL o PUBLIC

  • 400 AGReplicaSQLStartupAccount: no se puede usar la cuenta de servicio NT como SQL cuenta de inicio para la configuración del grupo de disponibilidad. Debe usar una cuenta de dominio.

  • 400 AgListenerMultiSubnetUpdateNotAllowed: no se permite la actualización del agente de escucha de grupo de disponibilidad de varias subredes.

  • 400 ListenerIpSubnetVmSubnetMismatch: la subred de dirección IP estática del agente de escucha y la subred de máquina virtual deben ser las mismas.

  • 400 VmNicVnetMismatch: no coinciden las redes virtuales de NIC de máquina virtual.

  • 400 NoAvailabilitySet: la máquina virtual no está asociada a ningún conjunto de disponibilidad.

  • 400 AvailabilitySetMismatch: el conjunto de disponibilidad de máquinas virtuales no coincide.

  • 400 MismatchVmGroupSubscription: el identificador de suscripción para SQL máquina virtual y SQL grupo de máquinas virtuales son diferentes.

  • 400 VmNotRunning: la máquina virtual no está en estado de ejecución.

  • 400 VmAgentNotRunning: el agente de máquina virtual no está instalado o en estado de ejecución.

  • 400 NoIpAvailable: no hay ip disponible.

  • 403 AccessDenied: acceso denegado.

  • 404 ResourceNotFound: no se encontró el recurso solicitado.

  • 404 SubscriptionDoesNotExist: el identificador de suscripción no existe.

  • 404 ResourceDoesNotExist: el recurso no existe.

  • 404 RPOperationNotFound: operación no encontrada

  • 404 OperationIdNotFound: no se encontró el identificador de la operación.

  • 404 OperationTypeNotFound: no se encontró el tipo de operación.

  • 404 SubscriptionDoesNotHaveSqlVMGroupInResourceGroup: la suscripción no tiene SQL grupo de máquinas virtuales en el grupo de recursos.

  • 409 ResourceAlreadyExists: el recurso ya existe.

  • 409 LBGenericErrors: error en la operación de lb

  • 409 NICGenericError: error en la operación de NIC

  • 409 SqlExtensionNotInstalled: SQL extensión no instalada.

  • 409 RPPluginSubstatusMissing: faltan subestados del complemento rp

  • 409 MissingMoveResources: no se pueden mover recursos porque faltan algunos recursos en la solicitud.

  • 409 ResourceExists: se produjo un error interno en la limpieza de los recursos.

  • 409 SubscriptionOperationInProgress: una operación en la suscripción ya está en curso

  • 409 OperationInProgress: operación en curso en el recurso.

  • 409 OperaciónCanceled - Operación cancelada.

  • 409 RéplicasWithDifferentSqlStartupAccounts: asegúrese de que todas las cuentas de inicio del servidor SQL de las réplicas especificadas sean las mismas. Este es uno de nuestros requisitos previos para configurar grupos de disponibilidad.

  • 409 RéplicasJoinedToMoreThanOneCluster: las réplicas de grupo de disponibilidad se unen a más de un clúster de conmutación por error. Asegúrese de que todas las réplicas están unidas al mismo clúster de conmutación por error.

  • 409 IPNotAvailable: la dirección IP {0} no está disponible{1}. Considere la posibilidad de usar uno de ({2})

  • 409 IpAddressAlreadyReserved: la dirección IP reservada para este agente de escucha ya existe. Use la dirección IP.

  • 429 TooManyRequestsReceived -

  • 500 RPGenericSystem: error del sistema al llamar a otro proveedor de recursos.

  • 500 UnExpectedErrorOccurred: error inesperado.

  • 500 OperationTimeout: se agota el tiempo de espera de la operación.

  • 500 SqlVmGroupIsBusy: SQL grupo de máquinas virtuales está ocupado.

Ejemplos

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"
}

Definiciones

AgConfiguration

Configuración del grupo de disponibilidad.

AgReplica

Configuración de réplica del grupo de disponibilidad.

AvailabilityGroupListener

Un agente de escucha de grupo de disponibilidad SQL Server.

Commit

Modo de confirmación de réplica en el grupo de disponibilidad.

createdByType

Tipo de identidad que creó el recurso.

Failover

Modo de conmutación por error de réplica en el grupo de disponibilidad.

LoadBalancerConfiguration

Una configuración del equilibrador de carga para un agente de escucha de grupo de disponibilidad.

PrivateIPAddress

Una dirección IP privada enlazada al agente de escucha del grupo de disponibilidad.

ReadableSecondary

Modo secundario legible de réplica en el grupo de disponibilidad.

Role

Rol de réplica en el grupo de disponibilidad.

systemData

Metadatos relacionados con la creación y la última modificación del recurso.

AgConfiguration

Configuración del grupo de disponibilidad.

Name Type Description
replicas

Configuraciones de réplica.

AgReplica

Configuración de réplica del grupo de disponibilidad.

Name Type Description
commit

Modo de confirmación de réplica en el grupo de disponibilidad.

failover

Modo de conmutación por error de réplica en el grupo de disponibilidad.

readableSecondary

Modo secundario legible de réplica en el grupo de disponibilidad.

role

Rol de réplica en el grupo de disponibilidad.

sqlVirtualMachineInstanceId
  • string

Identificador de instancia de Sql VirtualMachine.

AvailabilityGroupListener

Un agente de escucha de grupo de disponibilidad SQL Server.

Name Type Description
id
  • string

Identificador del recurso.

name
  • string

Nombre del recurso.

properties.availabilityGroupConfiguration

Configuración del grupo de disponibilidad.

properties.availabilityGroupName
  • string

Nombre del grupo de disponibilidad.

properties.createDefaultAvailabilityGroupIfNotExist
  • boolean

Cree un grupo de disponibilidad predeterminado si no existe.

properties.loadBalancerConfigurations

Lista de configuraciones del equilibrador de carga para un agente de escucha de grupo de disponibilidad.

properties.port
  • integer

Puerto del agente de escucha.

properties.provisioningState
  • string

Estado de aprovisionamiento para realizar un seguimiento del estado de la operación asincrónica.

systemData

Metadatos relacionados con la creación y la última modificación del recurso.

type
  • string

Tipo de recurso.

Commit

Modo de confirmación de réplica en el grupo de disponibilidad.

Name Type Description
ASYNCHRONOUS_COMMIT
  • string
SYNCHRONOUS_COMMIT
  • string

createdByType

Tipo de identidad que creó el recurso.

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

Failover

Modo de conmutación por error de réplica en el grupo de disponibilidad.

Name Type Description
AUTOMATIC
  • string
MANUAL
  • string

LoadBalancerConfiguration

Una configuración del equilibrador de carga para un agente de escucha de grupo de disponibilidad.

Name Type Description
loadBalancerResourceId
  • string

Identificador de recurso del equilibrador de carga.

privateIpAddress

Dirección IP privada.

probePort
  • integer

Puerto de sondeo.

publicIpAddressResourceId
  • string

Identificador de recurso de la dirección IP pública.

sqlVirtualMachineInstances
  • string[]

Lista de los SQL identificadores de recurso de instancia de máquina virtual inscritos en el agente de escucha del grupo de disponibilidad.

PrivateIPAddress

Una dirección IP privada enlazada al agente de escucha del grupo de disponibilidad.

Name Type Description
ipAddress
  • string

Dirección IP privada enlazada al agente de escucha del grupo de disponibilidad.

subnetResourceId
  • string

Subred usada para incluir la dirección IP privada.

ReadableSecondary

Modo secundario legible de réplica en el grupo de disponibilidad.

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

Role

Rol de réplica en el grupo de disponibilidad.

Name Type Description
PRIMARY
  • string
SECONDARY
  • string

systemData

Metadatos relacionados con la creación y la última modificación del recurso.

Name Type Description
createdAt
  • string

Marca de tiempo de creación de recursos (UTC).

createdBy
  • string

Identidad que creó el recurso.

createdByType

Tipo de identidad que creó el recurso.

lastModifiedAt
  • string

Marca de tiempo de la última modificación del recurso (UTC)

lastModifiedBy
  • string

Identidad que modificó por última vez el recurso.

lastModifiedByType

Tipo de identidad que modificó por última vez el recurso.