Failover Groups - Create Or Update

Crée ou met à jour un groupe de basculement.

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName}?api-version=2021-02-01-preview

Paramètres URI

Name In Required Type Description
failoverGroupName
path True
  • string

Nom du groupe de basculement.

resourceGroupName
path True
  • string

Nom du groupe de ressources qui contient la ressource. Vous pouvez obtenir cette valeur à partir de l’API Azure Resource Manager ou du portail.

serverName
path True
  • string

Nom du serveur contenant le groupe de basculement.

subscriptionId
path True
  • string

L’ID d’abonnement d’un abonnement Azure.

api-version
query True
  • string

Version de l’API à utiliser pour la requête.

Corps de la demande

Name Required Type Description
properties.partnerServers True

Liste des informations sur le serveur partenaire pour le groupe de basculement.

properties.readWriteEndpoint True

Point de terminaison en lecture-écriture de l’instance de groupe de basculement.

properties.databases
  • string[]

Liste des bases de données dans le groupe de basculement.

properties.readOnlyEndpoint

Point de terminaison en lecture seule de l’instance de groupe de basculement.

tags
  • object

Balises de ressource.

Réponses

Name Type Description
200 OK

Mise à jour réussie du groupe de basculement.

201 Created

Création réussie du groupe de basculement.

202 Accepted

Acceptée

Other Status Codes

Réponses d’erreur : ***

  • 400 FailoverGroupCreateOrUpdateRequestInvalidDatabases : les ID de base de données fournis ne sont pas correctement construits. Pour obtenir l’exemple de mise en forme appropriée, consultez https://docs.microsoft.com/en-us/rest/api/sql/failovergroups/createorupdate

  • 400 FailoverGroupCreateOrUpdateRequestInvalidPartner : le champ partenaires donné dans le corps de la demande de groupe de basculement de création ou de mise à jour est vide ou non valide. Indiquez une valeur valide de ce champ. Pour obtenir des exemples de requêtes correctement mises en forme, consultez https://docs.microsoft.com/en-us/rest/api/sql/failovergroups/createorupdate

  • 400 FailoverGroupCreateOrUpdateRequestDuplicatePartner : un ou plusieurs des serveurs partenaires fournis font déjà partie du groupe de basculement. Vérifiez que le serveur principal et tous les serveurs partenaires donnés sont uniques.

  • 400 FailoverGroupCreateOrUpdateRequestInvalidDatabaseServer - Une ou plusieurs des bases de données fournies n’existent pas sur le serveur principal du groupe de basculement. Vérifiez que toutes les bases de données existent sur le serveur principal.

  • 400 FailoverGroupCreateOrUpdateRequestUnsupportedPartnerCount : un seul serveur partenaire pour le groupe de basculement est pris en charge. Modifiez votre demande en conséquence. Pour obtenir des exemples de requêtes valides, consultez https://docs.microsoft.com/en-us/rest/api/sql/failovergroups/createorupdate

  • 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpoint : le champ readWriteEndpoint est requis pour les demandes de création ou de mise à jour.

  • 400 FailoverGroupCreateOrUpdateRequestInvalid : le corps de la demande de groupe de basculement de création ou de mise à jour est vide ou non valide.

  • 400 FailoverGroupUpdateOrDeleteRequestOnSecondary - Les modifications apportées au groupe de basculement ne sont pas autorisées sur un serveur secondaire. Exécutez la requête sur le serveur principal.

  • 400 FailoverGroupCreateOrUpdateRequestNegativeGracePeriodValues - La valeur de période de grâce pour le point de terminaison en lecture-écriture doit être non négative.

  • 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpointFields - La propriété failoverWithDataLossGracePeriodMinutes doit être fournie lorsque la stratégie de basculement Automatique est sélectionnée pour le point de terminaison en lecture-écriture.

  • 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteFailoverPolicy : le champ failoverPolicy du point de terminaison en lecture-écriture est requis pour les demandes de création ou de mise à jour.

  • 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpointFieldsForManualPolicy - La valeur de la période de grâce ne doit pas être fournie lorsque le manuel de stratégie de basculement est sélectionné pour le point de terminaison en lecture-écriture. Supprimez-le de la demande.

  • 400 FailoverGroupCreateOrUpdateRequestReadOnlyPropertyModified : le corps de la demande de groupe de basculement de création ou de mise à jour ne doit pas modifier la propriété en lecture seule '{0}'.

  • 400 FailoverGroupFailoverRequestOnPrimary : la demande de basculement doit être lancée sur le serveur secondaire du groupe de basculement.

  • 400 FailoverGroupPartnerServerFromDifferentSubscription - Serveur principal et serveurs partenaires du groupe de basculement proviennent de différents abonnements. L’abonnement croisé pour les serveurs du groupe de basculement n’est pas autorisé.

  • 400 InvalidAddSecondaryPermission : l’utilisateur n’a pas l’autorisation suffisante pour ajouter secondaire sur le serveur spécifié.

  • 400 InvalidSku : l’utilisateur a spécifié une référence SKU non valide.

  • 400 ServerNotFound : le serveur demandé est introuvable.

  • 400 FeatureDisabledOnSelectedEdition : l’utilisateur a tenté d’utiliser une fonctionnalité désactivée dans l’édition actuelle de la base de données.

  • 400 TokenTooLong : le jeton fourni est trop long.

  • 400 InvalidTargetSubregion : le serveur cible d’un serveur secondaire non lisible n’est pas dans une région Azure associée à la récupération d’urgence.

  • 400 PartnerServerNotCompatible : l’utilisateur tente de copier une base de données d’un serveur SAWA V1 vers un serveur Sterling ou vice versa.

  • 400 IncorrectReplicationLinkState : l’opération s’attend à ce que la base de données soit dans un état attendu sur le lien de réplication.

  • 400 ResourcePoolNotFound - Le pool élastique spécifié n’existe pas dans le serveur logique spécifié.

  • 400 AzureKeyVaultKeyDisabled : l’opération n’a pas pu être effectuée sur le serveur, car la clé Azure Key Vault est désactivée.

  • 400 AzureKeyVaultInvalidExpirationDate : l’opération n’a pas pu être effectuée, car la date d’expiration de la clé Azure Key Vault n’est pas valide.

  • 400 SecurityAzureKeyVaultUrlNullOrEmpty : l’opération n’a pas pu être effectuée, car l’URI d’Azure Key Vault est null ou vide.

  • 400 AzureKeyVaultNoServerIdentity : l’identité du serveur n’est pas correctement configurée.

  • 400 AzureKeyVaultInvalidUri : réponse non valide d’Azure Key Vault. Utilisez un URI azure Key Vault valide.

  • 400 AzureKeyVaultMissingPermissions : le serveur ne dispose pas des autorisations requises sur le Key Vault Azure.

  • 400 SecurityAzureKeyVaultInvalidKeyName : l’opération n’a pas pu être effectuée en raison d’un nom de clé de serveur non valide.

  • 400 PlannedFailoverTimedOutForDatabase : l’utilisateur a appelé le basculement planifié, il a expiré et une base de données spécifique semble être à blâmer.

  • 400 PlannedFailoverTimedOut : l’utilisateur a appelé le basculement planifié et il a expiré lors de la tentative de contact avec le service de gestion des partenaires.

  • 400 AdalGenericError : l’opération n’a pas pu être effectuée, car une erreur Azure Active Directory a été rencontrée.

  • 400 AdalServicePrincipalNotFound : l’opération n’a pas pu être terminée, car une erreur de Azure Active Directory principal du service de bibliothèque introuvable a été rencontrée.

  • 400 AzureKeyVaultMalformedVaultUri : l’URI de Key Vault fourni n’est pas valide.

  • 400 CannotUseReservedDatabaseName - Impossible d’utiliser le nom de la base de données réservée dans cette opération.

  • 400 InvalidFailoverGroupRegion - Les serveurs spécifiés dans un groupe de basculement doivent résider dans différentes régions pour fournir une isolation.

  • 400 FailoverGroupDoesNotExist - Le groupe de basculement n’existe pas sur un serveur.

  • 400 FailoverGroupNotSecondary : le basculement ne peut pas être lancé à partir du serveur principal dans un groupe de basculement.

  • 400 InvalidServerName - Nom de serveur non valide spécifié.

  • 400 DatabaseInFailoverGroupNotPrimary - Lien GeoDR pour la base de données existe déjà, mais son rôle n’est pas « Primary » ou il n’est pas un lien de copie continue.

  • 400 SecurityAdalPrincipalCertExpiredError : l’opération n’a pas pu être effectuée, car le certificat principal Azure Key Vault a expiré.

  • 400 CannotToCreateFailoverGroupDueToTableAuditing - Impossible de créer le groupe de basculement pour le serveur sur lequel l’audit de table est activé.

  • 400 InvalidIdentifier : l’identificateur contient NULL ou un caractère Unicode non valide.

  • 400 UnableToAddDbWithTableAuditingToFailoverGroup - La base de données avec l’audit de table activée n’est pas accessible via le point de terminaison du groupe de basculement.

  • 400 SecurityInvalidAzureKeyVaultRecoveryLevel : l’URI de Key Vault fourni n’est pas valide.

  • 400 KeyMaterialNotFoundOnRemoteServer - Le serveur distant n’a pas accès au matériel de clé utilisé comme protecteur TDE.

  • 400 LimitOfFailoverGroupsPerServerExceededed : la création d’un groupe de basculement dépasse le nombre autorisé de groupes de basculement par serveur.

  • 400 AzureKeyVaultMismatchError - Région Key Vault inattendue trouvée dans la réponse http.

  • 400 AzureKeyVaultRsaKeyNotSupported : le coffre de clés fourni utilise la taille ou le type de clé RSA non pris en charge. La taille de clé RSA prise en charge est 2048 ou 3072 et le type de clé est RSA ou RSA-HSM.

  • 400 GeoReplicationDatabaseNotSecondary : l’opération s’attend à ce que la base de données soit une cible de réplication.

  • 400 GeoReplicaLimitReached : la limite de réplication par réplica a été atteinte.

  • 400 FailoverGroupWithVirtualNetworkRulesNotSupported : les groupes de basculement configurés avec une stratégie de basculement automatique ne sont actuellement pas pris en charge sur les serveurs configurés avec des règles de pare-feu de réseau virtuel. Configurez le groupe de basculement avec une stratégie de basculement manuelle.

  • 400 UnableToResolveRemoteServer : le nom du serveur partenaire distant n’a pas pu être résolu en raison d’un nom de serveur non valide ou d’un problème de connectivité DNS.

  • 400 RemoteDatabaseCopyPermission : l’utilisateur n’a pas l’autorisation suffisante pour créer une copie de base de données sur le serveur spécifié.

  • 400 SecurityAzureKeyVaultGeoChainError : la création d’un serveur secondaire secondaire (processus appelé chaînage) n’est pas prise en charge lors de l’activation de Transparent Data Encryption à l’aide d’Azure Key Vault (BYOK).

  • 400 FailoverGroupCreateOrUpdatePartiallySucceeded : certaines bases de données n’ont pas pu être ajoutées ou supprimées.

  • 404 OperationIdNotFound : l’opération avec l’ID n’existe pas.

  • 404 ResourceNotFound : la ressource demandée est introuvable.

  • 404 OperationIdNotFound : l’opération avec l’ID n’existe pas.

  • 404 ServerNotInSubscriptionResourceGroup : le serveur spécifié n’existe pas dans le groupe de ressources et l’abonnement spécifiés.

  • 404 ServerNotInSubscription : le serveur spécifié n’existe pas sur l’abonnement spécifié.

  • 404 SourceDatabaseNotFound : la base de données source n’existe pas.

  • 405 UnsupportedReplicationOperation : une opération de réplication non prise en charge a été lancée sur la base de données.

  • 409 OperationCancelled : l’opération a été annulée par l’utilisateur.

  • Opération 409 Interrompue : l’opération sur la ressource n’a pas pu être terminée, car elle a été interrompue par une autre opération sur la même ressource.

  • 409 ConflictingServerOperation : une opération est en cours pour le serveur.

  • 409 SubscriptionDisabled : l’abonnement est désactivé.

  • 409 ConflictingSystemOperationInProgress : une opération de maintenance du système est en cours sur la base de données et d’autres opérations doivent attendre qu’elle soit terminée.

  • 409 GeoReplicationCannotBecomePrimaryDuringUndo : l’utilisateur a tenté de basculer ou de forcer l’arrêt d’un lien géographique alors que le réplica secondaire est dans un état où il peut ne pas être physiquement cohérent et ne peut donc pas entrer dans le rôle principal.

  • 409 ServerKeyNameAlreadyExists : la clé de serveur existe déjà sur le serveur.

  • 409 ServerKeyUriAlreadyExists : l’URI de clé de serveur existe déjà sur le serveur.

  • 409 ServerKeyDoesNotExists - la clé du serveur n’existe pas.

  • 409 UpdateSloInProgress : l’utilisateur a essayé de lancer une opération incompatible pendant qu’une mise à jour SLO était en cours.

  • 409 AzureKeyVaultKeyNameNotFound : l’opération n’a pas pu être effectuée, car le nom de clé Azure Key Vault n’existe pas.

  • 409 AzureKeyVaultKeyInUse : la clé est actuellement utilisée par le serveur.

  • 409 FailoverGroupAlreadyExists : le groupe de basculement existe déjà sur un serveur donné. Utilisez un autre nom de groupe de basculement.

  • 409 FailoverGroupBusy : le groupe de basculement est occupé avec une autre opération.

  • 409 DatabaseBelongsToOtherFailoverGroup - La base de données appartient à un autre groupe de basculement et ne peut pas être considérée comme faisant partie de celle-ci.

  • 409 DatabaseBeingAddedToFailoverGroup : la base de données est actuellement ajoutée au groupe de basculement, le client doit attendre la fin de cette opération pour terminer la suppression du problème.

  • 409 DatabaseBeingRemovedFromFailoverGroup : la base de données est actuellement supprimée du groupe de basculement, le client doit attendre la fin de cette opération pour terminer l’ajout du problème.

  • 409 FailoverGroupDnsRecordInUse : un enregistrement DNS en double existe pour le point de terminaison demandé.

  • 409 InvalidFailoverGroupName - Nom du groupe de basculement non valide a été fourni.

  • 409 InvalidOperationForDatabaseNotInReplicationRelationship : une opération d’amorçage de réplication a été effectuée sur une base de données déjà dans une relation de réplication.

  • 409 InvalidDatabaseStateForOperation : l’opération n’est pas autorisée sur la base de données dans son état de réplication actuel.

  • 409 DuplicateGeoDrRelation : les bases de données sont déjà dans une relation de réplication. Il s’agit d’une demande en double.

  • 409 RemoteDatabaseExists : le nom de la base de données de destination existe déjà sur le serveur de destination.

  • 409 FailoverGroupUnableToPerformGroupOperationOnDatabases : la liste des bases de données à ajouter/supprimer dans/à partir du groupe de basculement contient des erreurs empêchant l’exécution de l’opération.

  • 429 SubscriptionTooManyCreateUpdateRequests : demandes au-delà des demandes maximales pouvant être traitées par les ressources disponibles.

  • 429 SubscriptionTooManyRequests : demandes au-delà des demandes maximales pouvant être traitées par les ressources disponibles.

  • 500 OperationTimedOut : l’opération a expiré et a été restaurée automatiquement. Réessayez l’opération.

  • 503 TooManyRequests : demandes au-delà des demandes maximales pouvant être traitées par les ressources disponibles.

  • 503 AzureKeyVaultConnectionFailed : l’opération n’a pas pu être effectuée sur le serveur, car les tentatives de connexion à Azure Key Vault ont échoué

  • 503 AzureKeyVaultGenericConnectionError : l’opération n’a pas pu être effectuée, car une erreur s’est produite lors de la tentative de récupération des informations Key Vault .

  • 503 DatabaseUnavailable : l’opération a échoué car la base de données n’est pas disponible.

  • 504 RequestTimeout : la demande de service a dépassé le délai d’expiration autorisé.

Exemples

Create failover group

Sample Request

PUT https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/failoverGroups/failover-group-test-3?api-version=2021-02-01-preview

{
  "properties": {
    "readWriteEndpoint": {
      "failoverPolicy": "Automatic",
      "failoverWithDataLossGracePeriodMinutes": 480
    },
    "readOnlyEndpoint": {
      "failoverPolicy": "Disabled"
    },
    "partnerServers": [
      {
        "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-secondary-server"
      }
    ],
    "databases": [
      "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/databases/testdb-1",
      "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/databases/testdb-2"
    ]
  }
}

Sample Response

{
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/failoverGroups/failover-group-test-3",
  "name": "failover-group-test-3",
  "type": "Microsoft.Sql/servers/failoverGroups",
  "location": "Japan East",
  "properties": {
    "readWriteEndpoint": {
      "failoverPolicy": "Automatic",
      "failoverWithDataLossGracePeriodMinutes": 480
    },
    "readOnlyEndpoint": {
      "failoverPolicy": "Disabled"
    },
    "replicationRole": "Primary",
    "replicationState": "CATCH_UP",
    "partnerServers": [
      {
        "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-secondary-server",
        "location": "Japan West",
        "replicationRole": "Secondary"
      }
    ],
    "databases": [
      "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/databases/testdb-1",
      "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/databases/testdb-2"
    ]
  }
}
{
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/failoverGroups/failover-group-test-3",
  "name": "failover-group-test-3",
  "type": "Microsoft.Sql/servers/failoverGroups",
  "location": "Japan East",
  "properties": {
    "readWriteEndpoint": {
      "failoverPolicy": "Automatic",
      "failoverWithDataLossGracePeriodMinutes": 480
    },
    "readOnlyEndpoint": {
      "failoverPolicy": "Disabled"
    },
    "replicationRole": "Primary",
    "replicationState": "CATCH_UP",
    "partnerServers": [
      {
        "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-secondary-server",
        "location": "Japan West",
        "replicationRole": "Secondary"
      }
    ],
    "databases": [
      "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/databases/testdb-1",
      "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/databases/testdb-2"
    ]
  }
}

Définitions

FailoverGroup

Un groupe de basculement.

FailoverGroupReadOnlyEndpoint

Point de terminaison en lecture seule de l’instance de groupe de basculement.

FailoverGroupReadWriteEndpoint

Point de terminaison en lecture-écriture de l’instance de groupe de basculement.

FailoverGroupReplicationRole

Rôle de réplication local de l’instance de groupe de basculement.

PartnerInfo

Informations sur le serveur partenaire pour le groupe de basculement.

ReadOnlyEndpointFailoverPolicy

Stratégie de basculement du point de terminaison en lecture seule pour le groupe de basculement.

ReadWriteEndpointFailoverPolicy

Stratégie de basculement du point de terminaison en lecture-écriture pour le groupe de basculement. Si failoverPolicy est automatique, failoverWithDataLossGracePeriodMinutes est requis.

FailoverGroup

Un groupe de basculement.

Name Type Description
id
  • string

ID de la ressource

location
  • string

Emplacement de la ressource.

name
  • string

Nom de la ressource.

properties.databases
  • string[]

Liste des bases de données dans le groupe de basculement.

properties.partnerServers

Liste des informations sur le serveur partenaire pour le groupe de basculement.

properties.readOnlyEndpoint

Point de terminaison en lecture seule de l’instance de groupe de basculement.

properties.readWriteEndpoint

Point de terminaison en lecture-écriture de l’instance de groupe de basculement.

properties.replicationRole

Rôle de réplication local de l’instance de groupe de basculement.

properties.replicationState
  • string

État de réplication de l’instance de groupe de basculement.

tags
  • object

Balises de ressource.

type
  • string

Type de ressource.

FailoverGroupReadOnlyEndpoint

Point de terminaison en lecture seule de l’instance de groupe de basculement.

Name Type Description
failoverPolicy

Stratégie de basculement du point de terminaison en lecture seule pour le groupe de basculement.

FailoverGroupReadWriteEndpoint

Point de terminaison en lecture-écriture de l’instance de groupe de basculement.

Name Type Description
failoverPolicy

Stratégie de basculement du point de terminaison en lecture-écriture pour le groupe de basculement. Si failoverPolicy est automatique, failoverWithDataLossGracePeriodMinutes est requis.

failoverWithDataLossGracePeriodMinutes
  • integer

Période de grâce avant le basculement avec perte de données est tentée pour le point de terminaison en lecture-écriture. Si failoverPolicy est automatique, failoverWithDataLossGracePeriodMinutes est requis.

FailoverGroupReplicationRole

Rôle de réplication local de l’instance de groupe de basculement.

Name Type Description
Primary
  • string
Secondary
  • string

PartnerInfo

Informations sur le serveur partenaire pour le groupe de basculement.

Name Type Description
id
  • string

Identificateur de ressource du serveur partenaire.

location
  • string

Emplacement géographique du serveur partenaire.

replicationRole

Rôle de réplication du serveur partenaire.

ReadOnlyEndpointFailoverPolicy

Stratégie de basculement du point de terminaison en lecture seule pour le groupe de basculement.

Name Type Description
Disabled
  • string
Enabled
  • string

ReadWriteEndpointFailoverPolicy

Stratégie de basculement du point de terminaison en lecture-écriture pour le groupe de basculement. Si failoverPolicy est automatique, failoverWithDataLossGracePeriodMinutes est requis.

Name Type Description
Automatic
  • string
Manual
  • string