Failover Groups - Create Or Update

Crea o aggiorna un gruppo di failover.

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

Parametri dell'URI

Nome In Necessario Tipo Descrizione
failoverGroupName
path True

string

Nome del gruppo di failover.

resourceGroupName
path True

string

Nome del gruppo di risorse contenente la risorsa. È possibile ottenere questo valore dall'API di Gestione risorse di Azure o dal portale.

serverName
path True

string

Nome del server contenente il gruppo di failover.

subscriptionId
path True

string

ID sottoscrizione che identifica una sottoscrizione di Azure.

api-version
query True

string

Versione dell'API da usare per la richiesta.

Corpo della richiesta

Nome Necessario Tipo Descrizione
properties.partnerServers True

PartnerInfo[]

Elenco delle informazioni sul server partner per il gruppo di failover.

properties.readWriteEndpoint True

FailoverGroupReadWriteEndpoint

Endpoint di lettura/scrittura dell'istanza del gruppo di failover.

properties.databases

string[]

Elenco di database nel gruppo di failover.

properties.readOnlyEndpoint

FailoverGroupReadOnlyEndpoint

Endpoint di sola lettura dell'istanza del gruppo di failover.

tags

object

Tag delle risorse.

Risposte

Nome Tipo Descrizione
200 OK

FailoverGroup

Aggiornamento corretto del gruppo di failover.

201 Created

FailoverGroup

Creazione del gruppo di failover completata.

202 Accepted

Accettato

Other Status Codes

Risposte di errore:

  • 400 FailoverGroupCreateOrUpdateRequestInvalidDatabases: gli ID delle risorse del database forniti non vengono costruiti correttamente. Per l'esempio di formattazione corretta, vedere https://docs.microsoft.com/en-us/rest/api/sql/failovergroups/createorupdate

  • 400 FailoverGroupCreateOrUpdateRequestInvalidPartner: il campo partner specificato nel corpo della richiesta del gruppo di failover di creazione o aggiornamento è vuoto o non valido. Specificare un valore valido di questo campo. Per esempi di richieste formattate correttamente, vedere https://docs.microsoft.com/en-us/rest/api/sql/failovergroups/createorupdate

  • 400 FailoverGroupCreateOrUpdateRequestDuplicatePartner: uno o più server partner forniti fanno già parte del gruppo di failover. Assicurarsi che il server primario e tutti i server partner specificati siano univoci.

  • 400 FailoverGroupCreateOrUpdateRequestInvalidDatabaseServer: uno o più database forniti non esistono nel server primario del gruppo di failover. Assicurarsi che tutti i database esistano nel server primario.

  • 400 FailoverGroupCreateOrUpdateRequestUnsupportedPartnerCount: è supportato un solo server partner per il gruppo di failover. Modificare la richiesta di conseguenza. Per esempi di richieste valide, vedere https://docs.microsoft.com/en-us/rest/api/sql/failovergroups/createorupdate

  • 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpoint- Il campo readWriteEndpoint è necessario per le richieste di creazione o aggiornamento.

  • 400 FailoverGroupCreateOrUpdateRequestInvalid: il corpo della richiesta del gruppo di failover di creazione o aggiornamento è vuoto o non valido.

  • 400 FailoverGroupUpdateOrDeleteRequestOnSecondary - Le modifiche al gruppo di failover non sono consentite in un server secondario. Eseguire la richiesta nel server primario.

  • 400 FailoverGroupCreateOrUpdateRequestNegativeGracePeriodValues: il valore del periodo di tolleranza per l'endpoint di lettura/scrittura deve essere non negativo.

  • 400 FailoverGroupCreateOrUpdateRequestLessThanMinimumGracePeriodValues - Il valore del periodo di tolleranza per il gruppo di failover deve essere maggiore o uguale al periodo di tolleranza minimo dei minuti '{0}'

  • 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpointFields : è necessario specificare il failover della proprietàWithDataLossGracePeriodMinutes quando i criteri di failover Automatic sono selezionati per l'endpoint di lettura/scrittura.

  • 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteFailoverPolicy: il campo failoverPolicy per l'endpoint di lettura/scrittura è necessario per le richieste di creazione o aggiornamento.

  • 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpointFieldsForManualPolicy- Il valore del periodo di tolleranza non deve essere specificato quando il criterio di failover Manuale è selezionato per l'endpoint di lettura/scrittura. Rimuoverlo dalla richiesta.

  • 400 FailoverGroupCreateOrUpdateRequestReadOnlyPropertyModified- Il corpo della richiesta del gruppo di failover di creazione o aggiornamento non deve modificare la proprietà di sola lettura '{0}'.

  • 400 FailoverGroupFailoverRequestOnPrimary: la richiesta di failover deve essere avviata nel server secondario del gruppo di failover.

  • 400 FailoverGroupPartnerServerFromDifferentSubscription : il server primario e i server partner del gruppo di failover provengono da sottoscrizioni diverse. La sottoscrizione incrociata per i server del gruppo di failover non è consentita.

  • 400 InvalidAddSecondaryPermission: l'utente non dispone di autorizzazioni sufficienti per aggiungere secondario nel server specificato.

  • 400 InvalidSku: l'utente ha specificato uno SKU non valido.

  • 400 ServerNotFound: il server richiesto non è stato trovato.

  • 400 FeatureDisabledOnSelectedEdition : l'utente ha tentato di usare una funzionalità disabilitata nell'edizione di database corrente.

  • 400 TokenTooLong: il token fornito è troppo lungo.

  • 400 InvalidTargetSubregion: il server di destinazione di un database secondario non leggibile non si trova in un'area di Azure associata al ripristino di emergenza.

  • 400 PartnerServerNotCompatible - L'utente sta tentando di copiare un database da un server SAWA V1 a un server Sterling o viceversa.

  • 400 IncorrectReplicationLinkState: l'operazione prevede che il database sia in uno stato previsto nel collegamento di replica.

  • 400 ResourcePoolNotFound: il pool elastico specificato non esiste nel server logico specificato.

  • 400 AzureKeyVaultKeyDisabled- Impossibile completare l'operazione nel server perché la chiave di Key Vault di Azure è disabilitata.

  • 400 AzureKeyVaultInvalidExpirationDate- Impossibile completare l'operazione perché la data di scadenza della chiave di Azure Key Vault non è valida.

  • 400 SecurityAzureKeyVaultUrlNullOrEmpty- Impossibile completare l'operazione perché l'URI di Azure Key Vault è null o vuoto.

  • 400 AzureKeyVaultNoServerIdentity: l'identità del server non è configurata correttamente.

  • 400 AzureKeyVaultInvalidUri: risposta non valida da Azure Key Vault. Usare un URI di Azure Key Vault valido.

  • 400 AzureKeyVaultMissingPermissions: il server non dispone delle autorizzazioni necessarie per l'Key Vault di Azure.

  • 400 SecurityAzureKeyVaultInvalidKeyName- Impossibile completare l'operazione a causa di un nome di chiave del server non valido.

  • 400 PlannedFailoverTimedOutForDatabase - L'utente ha richiamato failover pianificato, si è timeout e un database specifico sembra essere colpa.

  • 400 PlannedFailoverTimedOut : l'utente ha richiamato failover pianificato e si è timeout durante il tentativo di contattare il servizio di gestione dei partner.

  • 400 AdalGenericError- Impossibile completare l'operazione perché è stato rilevato un errore di Azure Active Directory.

  • 400 AdalServicePrincipalNotFound- Impossibile completare l'operazione perché è stato rilevato un errore di entità servizio della libreria di Azure Active Directory.

  • 400 AzureKeyVaultMalformedVaultUri: l'URI Key Vault specificato non è valido.

  • 400 CannotUseReservedDatabaseName- Impossibile utilizzare il nome del database riservato in questa operazione.

  • 400 InvalidFailoverGroupRegion: i server specificati in un gruppo di failover devono risiedere in aree diverse per garantire l'isolamento.

  • 400 FailoverGroupDoesNotExist - Il gruppo di failover non esiste in un server.

  • 400 FailoverGroupNotSecondary: il failover non può essere avviato dal server primario in un gruppo di failover.

  • 400 InvalidServerName - Nome server non valido specificato.

  • 400 DatabaseInFailoverGroupNotPrimary - Il collegamento GeoDR per il database esiste già, ma il relativo ruolo non è "Primario" o non è un collegamento di copia continua.

  • 400 SecurityAdalPrincipalCertExpiredError- Impossibile completare l'operazione perché il certificato dell'entità di Key Vault di Azure è scaduto.

  • 400 UnableToCreateFailoverGroupDueToTableAuditing- Impossibile creare un gruppo di failover per il server in cui è attivato il controllo delle tabelle.

  • 400 InvalidIdentifier: l'identificatore contiene NULL o un carattere Unicode non valido.

  • 400 UnableToAddDbWithTableAuditingToFailoverGroup - Il database con controllo tabelle abilitato non sarà accessibile tramite l'endpoint del gruppo di failover.

  • 400 SecurityInvalidAzureKeyVaultRecoveryLevel: l'URI Key Vault specificato non è valido.

  • 400 KeyMaterialNotFoundOnRemoteServer - Il server remoto non ha accesso al materiale della chiave usato come protezione TDE.

  • 400 LimitOfFailoverGroupsPerServerExceeded: la creazione di un nuovo gruppo di failover supererà il numero consentito di gruppi di failover per server.

  • 400 SameKeyUriNotFoundOnRemoteServer - Il server secondario non dispone del materiale della chiave dello stesso insieme di credenziali delle chiavi della protezione di crittografia del server primario con rotazione automatica della chiave abilitata.

  • 400 AzureKeyVaultRsaKeyNotSupported: l'insieme di credenziali delle chiavi fornito usa le dimensioni o il tipo di chiave RSA non supportati. Le dimensioni della chiave RSA supportate sono 2048 o 3072 e il tipo di chiave è RSA o RSA-HSM.

  • 400 SameKeyMaterialNotFoundOnRemoteServer - Il server secondario non dispone del materiale della chiave della protezione di crittografia del server primario.

  • 400 GeoReplicationDatabaseNotSecondary: l'operazione prevede che il database sia una destinazione di replica.

  • 400 GeoReplicaLimitReached: è stato raggiunto il limite di replica per replica.

  • 400 FailoverGroupWithVirtualNetworkRulesNotSupported: i gruppi di failover configurati con criteri di failover automatico non sono attualmente supportati nei server configurati con regole del firewall di rete virtuale. Configurare il gruppo di failover con criteri di failover manuali.

  • 400 UnableToResolveRemoteServer- Impossibile risolvere il nome del server partner remoto a causa di problemi di connettività DNS o nome server non validi.

  • 400 RemoteDatabaseCopyPermission: l'utente non dispone di autorizzazioni sufficienti per creare una copia del database nel server specificato.

  • 400 SecurityAzureKeyVaultGeoChainError: la creazione di un database secondario (un processo noto come concatenamento) non è supportata quando si abilita Transparent Data Encryption tramite Azure Key Vault (BYOK).

  • 400 FailoverGroupCreateOrUpdatePartiallySucceeded- Impossibile aggiungere o rimuovere alcuni database.

  • 404 OperationIdNotFound- L'operazione con ID non esiste.

  • 404 ResourceNotFound: la risorsa richiesta non è stata trovata.

  • 404 OperationIdNotFound- L'operazione con ID non esiste.

  • 404 ServerNotInSubscriptionResourceGroup - Il server specificato non esiste nel gruppo di risorse e nella sottoscrizione specificati.

  • 404 ServerNotInSubscription : il server specificato non esiste nella sottoscrizione specificata.

  • 404 SourceDatabaseNotFound: il database di origine non esiste.

  • 405 UnsupportedReplicationOperation: un'operazione di replica non supportata è stata avviata nel database.

  • 409 OperationCancelled - L'operazione è stata annullata dall'utente.

  • 409 Operazione interrotta- Impossibile completare l'operazione sulla risorsa perché è stata interrotta da un'altra operazione sulla stessa risorsa.

  • 409 ConflictingServerOperation- Un'operazione è attualmente in corso per il server.

  • 409 SubscriptionDisabled : la sottoscrizione è disabilitata.

  • 409 ConflictingSystemOperationInProgress - È in corso un'operazione di manutenzione del sistema nel database e altre operazioni devono attendere il completamento.

  • 409 GeoReplicationCannotBecomePrimaryDuringUndo - L'utente ha tentato di eseguire il failover o di terminare un collegamento geografico mentre il database secondario si trova in uno stato in cui potrebbe non essere fisicamente coerente e quindi non può immettere il ruolo primario.

  • 409 ServerKeyNameAlreadyExists - La chiave del server esiste già nel server.

  • 409 ServerKeyUriAlreadyExists - L'URI della chiave del server esiste già nel server.

  • 409 ServerKeyDoesNotExists - La chiave server non esiste.

  • 409 UpdateSloInProgress - L'utente ha tentato di avviare un'operazione incompatibile mentre era in corso un aggiornamento SLO.

  • 409 AzureKeyVaultKeyNameNotFound- Impossibile completare l'operazione perché il nome della chiave di Azure Key Vault non esiste.

  • 409 AzureKeyVaultKeyInUse: la chiave è attualmente usata dal server.

  • 409 FailoverGroupAlreadyExists - Il gruppo di failover esiste già in un determinato server. Usare un nome diverso per il gruppo di failover.

  • 409 FailoverGroupBusy - Il gruppo di failover è occupato con un'altra operazione.

  • 409 DatabaseBelongsToOtherFailoverGroup - Il database appartiene ad altri gruppi di failover e non può essere considerato parte di questo gruppo.

  • 409 DatabaseBeingAddedToFailoverGroup: il database è attualmente in fase di aggiunta al gruppo di failover. Il cliente deve attendere il completamento dell'operazione per rimuovere il problema.

  • 409 DatabaseBeingRemovedFromFailoverGroup: il database è attualmente in corso di rimozione dal gruppo di failover, il cliente deve attendere il completamento dell'operazione per l'aggiunta del problema.

  • 409 FailoverGroupDnsRecordInUse: esiste un record DNS duplicato per l'endpoint richiesto.

  • 409 InvalidFailoverGroupName - È stato specificato il nome del gruppo di failover non valido.

  • 409 InvalidOperationForDatabaseNotInReplicationRelationship- È stata eseguita un'operazione di seeding della replica in un database già presente in una relazione di replica.

  • 409 InvalidDatabaseStateForOperation: l'operazione non è consentita nel database nello stato di replica corrente.

  • 409 DuplicateGeoDrRelation: i database si trovano già in una relazione di replica. Si tratta di una richiesta duplicata.

  • 409 RemoteDatabaseExists : il nome del database di destinazione esiste già nel server di destinazione.

  • 409 FailoverGroupUnableToPerformGroupOperationOnDatabases - L'elenco di database da aggiungere/rimuovere da/verso il gruppo di failover contiene errori che impediscono il completamento dell'operazione.

  • 429 SubscriptionTooManyCreateUpdateRequests: richieste oltre il numero massimo di richieste che possono essere elaborate dalle risorse disponibili.

  • 429 SubscriptionTooManyRequests - Richieste oltre il numero massimo di richieste che possono essere elaborate dalle risorse disponibili.

  • 429 SubscriptionTooManyCreateUpdateRequests: richieste oltre il numero massimo di richieste che possono essere elaborate dalle risorse disponibili.

  • 429 SubscriptionTooManyRequests - Richieste oltre il numero massimo di richieste che possono essere elaborate dalle risorse disponibili.

  • 500 OperationTimedOut: timeout dell'operazione e rollback automatico. Ripetere l'operazione.

  • 503 TooManyRequests: richieste oltre il numero massimo di richieste che possono essere elaborate dalle risorse disponibili.

  • 503 TooManyRequests: richieste oltre il numero massimo di richieste che possono essere elaborate dalle risorse disponibili.

  • 503 AzureKeyVaultConnectionFailed- Impossibile completare l'operazione nel server perché i tentativi di connessione ad Azure Key Vault non sono riusciti

  • 503 AzureKeyVaultGenericConnectionError- Impossibile completare l'operazione perché si è verificato un errore durante il tentativo di recuperare Key Vault informazioni .

  • 503 DatabaseUnavailable: operazione non riuscita perché il database non è disponibile.

  • 504 RequestTimeout : la richiesta di servizio ha superato il timeout consentito.

Esempio

Create failover group

Esempio di richiesta

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-11-01

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

Risposta di esempio

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

Definizioni

Nome Descrizione
FailoverGroup

Un gruppo di failover.

FailoverGroupReadOnlyEndpoint

Endpoint di sola lettura dell'istanza del gruppo di failover.

FailoverGroupReadWriteEndpoint

Endpoint di lettura/scrittura dell'istanza del gruppo di failover.

FailoverGroupReplicationRole

Ruolo di replica locale dell'istanza del gruppo di failover.

PartnerInfo

Informazioni sul server partner per il gruppo di failover.

ReadOnlyEndpointFailoverPolicy

Criteri di failover dell'endpoint di sola lettura per il gruppo di failover.

ReadWriteEndpointFailoverPolicy

Criteri di failover dell'endpoint di lettura/scrittura per il gruppo di failover. Se failoverPolicy è Automatico, è necessario eseguire il failoverWithDataLossGracePeriodMinutes.

FailoverGroup

Un gruppo di failover.

Nome Tipo Descrizione
id

string

ID risorsa.

location

string

Percorso della risorsa.

name

string

Nome risorsa.

properties.databases

string[]

Elenco di database nel gruppo di failover.

properties.partnerServers

PartnerInfo[]

Elenco delle informazioni sul server partner per il gruppo di failover.

properties.readOnlyEndpoint

FailoverGroupReadOnlyEndpoint

Endpoint di sola lettura dell'istanza del gruppo di failover.

properties.readWriteEndpoint

FailoverGroupReadWriteEndpoint

Endpoint di lettura/scrittura dell'istanza del gruppo di failover.

properties.replicationRole

FailoverGroupReplicationRole

Ruolo di replica locale dell'istanza del gruppo di failover.

properties.replicationState

string

Stato di replica dell'istanza del gruppo di failover.

tags

object

Tag delle risorse.

type

string

Tipo di risorsa.

FailoverGroupReadOnlyEndpoint

Endpoint di sola lettura dell'istanza del gruppo di failover.

Nome Tipo Descrizione
failoverPolicy

ReadOnlyEndpointFailoverPolicy

Criteri di failover dell'endpoint di sola lettura per il gruppo di failover.

FailoverGroupReadWriteEndpoint

Endpoint di lettura/scrittura dell'istanza del gruppo di failover.

Nome Tipo Descrizione
failoverPolicy

ReadWriteEndpointFailoverPolicy

Criteri di failover dell'endpoint di lettura/scrittura per il gruppo di failover. Se failoverPolicy è Automatico, è necessario eseguire il failoverWithDataLossGracePeriodMinutes.

failoverWithDataLossGracePeriodMinutes

integer

Periodo di tolleranza prima del tentativo di failover con perdita di dati per l'endpoint di lettura/scrittura. Se failoverPolicy è Automatico, è necessario eseguire il failoverWithDataLossGracePeriodMinutes.

FailoverGroupReplicationRole

Ruolo di replica locale dell'istanza del gruppo di failover.

Nome Tipo Descrizione
Primary

string

Secondary

string

PartnerInfo

Informazioni sul server partner per il gruppo di failover.

Nome Tipo Descrizione
id

string

Identificatore della risorsa del server partner.

location

string

Posizione geografica del server partner.

replicationRole

FailoverGroupReplicationRole

Ruolo di replica del server partner.

ReadOnlyEndpointFailoverPolicy

Criteri di failover dell'endpoint di sola lettura per il gruppo di failover.

Nome Tipo Descrizione
Disabled

string

Enabled

string

ReadWriteEndpointFailoverPolicy

Criteri di failover dell'endpoint di lettura/scrittura per il gruppo di failover. Se failoverPolicy è Automatico, è necessario eseguire il failoverWithDataLossGracePeriodMinutes.

Nome Tipo Descrizione
Automatic

string

Manual

string