Failover Groups - Create Or Update

Tworzy lub aktualizuje grupę trybu failover.

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

Parametry identyfikatora URI

Name In Required Type Description
failoverGroupName
path True
  • string

Nazwa grupy trybu failover.

resourceGroupName
path True
  • string

Nazwa grupy zasobów zawierającej zasób. Tę wartość można uzyskać za pomocą interfejsu API Azure Resource Manager lub portalu.

serverName
path True
  • string

Nazwa serwera zawierającego grupę trybu failover.

subscriptionId
path True
  • string

Identyfikator subskrypcji, który identyfikuje subskrypcję platformy Azure.

api-version
query True
  • string

Wersja interfejsu API do użycia dla żądania.

Treść żądania

Name Required Type Description
properties.partnerServers True

Lista informacji o serwerze partnerskim dla grupy trybu failover.

properties.readWriteEndpoint True

Punkt końcowy odczytu i zapisu wystąpienia grupy trybu failover.

properties.databases
  • string[]

Lista baz danych w grupie trybu failover.

properties.readOnlyEndpoint

Punkt końcowy tylko do odczytu wystąpienia grupy trybu failover.

tags
  • object

Tagi zasobów.

Odpowiedzi

Name Type Description
200 OK

Pomyślnie Zaktualizowano grupę trybu failover.

201 Created

Pomyślnie utworzono grupę trybu failover.

202 Accepted

Zaakceptowano

Other Status Codes

Odpowiedzi na błędy: * * _

_ 400 FailoverGroupCreateOrUpdateRequestInvalidDatabases — podane identyfikatory baz danych nie są poprawnie skonstruowane identyfikatorów zasobów bazy danych. Aby zapoznać się z przykładem właściwego formatowania, zobacz https://docs.microsoft.com/en-us/rest/api/sql/failovergroups/createorupdate

  • 400 FailoverGroupCreateOrUpdateRequestInvalidPartner-pole danego partnera w obszarze Tworzenie lub aktualizowanie treści żądania grupy trybu failover jest puste lub nieprawidłowe. Podaj prawidłową wartość tego pola. Przykłady poprawnie sformatowanych żądań znajduje się w temacie  https://docs.microsoft.com/en-us/rest/api/sql/failovergroups/createorupdate

  • 400 FailoverGroupCreateOrUpdateRequestDuplicatePartner — co najmniej jeden z podanych serwerów partnerskich jest już częścią grupy trybu failover. Upewnij się, że serwer podstawowy i wszystkie z określonych serwerów partnerskich są unikatowe.

  • 400 FailoverGroupCreateOrUpdateRequestInvalidDatabaseServer — co najmniej jedna podana baza danych nie istnieje na serwerze podstawowym grupy trybu failover. Upewnij się, że wszystkie bazy danych istnieją na serwerze podstawowym.

  • 400 FailoverGroupCreateOrUpdateRequestUnsupportedPartnerCount — obsługiwany jest tylko jeden serwer partnerski dla grupy trybu failover. Zmodyfikuj odpowiednio żądanie. Przykłady prawidłowych żądań można znaleźć w temacie https://docs.microsoft.com/en-us/rest/api/sql/failovergroups/createorupdate

  • 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpoint — pole readWriteEndpoint jest wymagane w przypadku żądań utworzenia lub aktualizacji.

  • 400 FailoverGroupCreateOrUpdateRequestInvalid — treść żądania utworzenia lub aktualizacji grupy trybu failover jest pusta lub nieprawidłowa.

  • 400 FailoverGroupUpdateOrDeleteRequestOnSecondary — modyfikacje grupy trybu failover nie są dozwolone na serwerze pomocniczym. Wykonaj żądanie na serwerze podstawowym.

  • 400 FailoverGroupCreateOrUpdateRequestNegativeGracePeriodValues — wartość okresu prolongaty dla punktu końcowego do odczytu i zapisu musi być nieujemna.

  • 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpointFields — Właściwość failoverWithDataLossGracePeriodMinutes musi być podana, gdy dla punktu końcowego do odczytu i zapisu zostanie wybrane ustawienie zasady trybu failover.

  • 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteFailoverPolicy — pole failoverPolicy dla punktu końcowego do odczytu i zapisu jest wymagane w przypadku żądań utworzenia lub aktualizacji.

  • 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpointFieldsForManualPolicy — wartość okresu prolongaty nie powinna być określona, jeśli wybrano ręczne zasady trybu failover dla punktu końcowego odczytu i zapisu. Usuń go z żądania.

  • 400 FailoverGroupCreateOrUpdateRequestReadOnlyPropertyModified — treść żądania tworzenia lub aktualizacji trybu failover grupy nie powinna modyfikować właściwości tylko do odczytu " {0} ".

  • 400 FailoverGroupFailoverRequestOnPrimary — żądanie przejścia w tryb failover należy zainicjować na serwerze pomocniczym grupy trybu failover.

  • 400 FailoverGroupPartnerServerFromDifferentSubscription — serwer podstawowy i serwery partnerskie grupy trybu failover pochodzą z różnych subskrypcji. Subskrypcja między serwerami grupy trybu failover jest niedozwolona.

  • 400 InvalidAddSecondaryPermission — użytkownik nie ma wystarczających uprawnień, aby dodać pomocniczy na określonym serwerze.

  • 400 InvalidSku — użytkownik określił nieprawidłową jednostkę SKU.

  • 400 ServerNotFound — nie znaleziono żądanego serwera.

  • 400 FeatureDisabledOnSelectedEdition — użytkownik próbował użyć funkcji, która jest wyłączona w bieżącej wersji bazy danych.

  • 400 TokenTooLong — podany token jest zbyt długi.

  • 400 InvalidTargetSubregion — docelowy serwer pomocniczy, którego nie można odczytać, nie znajduje się w regionie odzyskiwania po awarii.

  • 400 PartnerServerNotCompatible — użytkownik próbuje skopiować bazę danych z serwera SAWA V1 na serwer szterlinga lub odwrotnie.

  • 400 IncorrectReplicationLinkState — Operacja oczekuje, że baza danych będzie znajdować się w oczekiwanym stanie w łączu replikacji.

  • 400 ResourcePoolNotFound — określona Pula elastyczna nie istnieje na określonym serwerze logicznym.

  • 400 AzureKeyVaultInvalidExpirationDate — nie można ukończyć operacji z powodu nieprawidłowej daty wygaśnięcia klucza Azure Key Vault.

  • 400 SecurityAzureKeyVaultUrlNullOrEmpty — nie można ukończyć operacji, ponieważ identyfikator URI Azure Key Vault ma wartość null lub jest pusty.

  • 400 AzureKeyVaultInvalidUri — Nieprawidłowa odpowiedź z Azure Key Vault. Użyj prawidłowego identyfikatora URI Azure Key Vault.

  • 400 SecurityAzureKeyVaultInvalidKeyName — nie można ukończyć operacji z powodu nieprawidłowej nazwy klucza serwera.

  • 400 PlannedFailoverTimedOutForDatabase — użytkownik wywołał planowaną pracę w trybie failover, upłynął limit czasu, a określona baza danych wydaje się być polecenia Blame.

  • 400 PlannedFailoverTimedOut — użytkownik wywołał planowaną pracę w trybie failover i przekroczył limit czasu podczas próby skontaktowania się z usługą zarządzania partnerem.

  • 400 AzureKeyVaultMalformedVaultUri — podany identyfikator URI Key Vault jest nieprawidłowy.

  • 400 CannotUseReservedDatabaseName — w tej operacji nie można użyć zastrzeżonej nazwy bazy danych.

  • 400 InvalidFailoverGroupRegion — serwery określone w grupie trybu failover muszą znajdować się w różnych regionach, aby zapewnić izolację.

  • 400 FailoverGroupDoesNotExist — Grupa trybu failover nie istnieje na serwerze.

  • 400 FailoverGroupNotSecondary — nie można zainicjować trybu failover z serwera podstawowego w grupie trybu failover.

  • 400 InvalidServerName — określono nieprawidłową nazwę serwera.

  • 400 DatabaseInFailoverGroupNotPrimary-GeoDR link do bazy danych już istnieje, ale jego rolą nie jest "Primary" lub linkiem do ciągłego kopiowania.

  • 400 SecurityAdalPrincipalCertExpiredError — nie można ukończyć operacji, ponieważ certyfikat główny Azure Key Vault wygasł.

  • 400 UnableToCreateFailoverGroupDueToTableAuditing — nie można utworzyć grupy trybu failover dla serwera, na którym włączono inspekcję tabeli.

  • 400 InvalidIdentifier — identyfikator zawiera wartość NULL lub nieprawidłowy znak Unicode.

  • 400 UnableToAddDbWithTableAuditingToFailoverGroup — baza danych z włączoną inspekcją tabeli nie będzie dostępna za pomocą punktu końcowego grupy trybu failover.

  • 400 SecurityInvalidAzureKeyVaultRecoveryLevel — podany identyfikator URI Key Vault jest nieprawidłowy.

  • 400 KeyMaterialNotFoundOnRemoteServer — serwer zdalny nie ma dostępu do kluczowych materiałów użytych jako funkcja ochrony TDE.

  • 400 LimitOfFailoverGroupsPerServerExceeded — utworzenie nowej grupy trybu failover spowoduje przekroczenie dozwolonej liczby grup trybu failover na serwer.

  • 400 AzureKeyVaultMismatchError — w odpowiedzi HTTP znaleziono nieoczekiwany region Key Vault.

  • 400 AzureKeyVaultRsaKeyNotSupported — podany Magazyn kluczy używa nieobsługiwanego rozmiaru klucza RSA lub typu klucza. Obsługiwany rozmiar klucza RSA to 2048 lub 3072, a typ klucza to RSA lub RSA-HSM.

  • 400 GeoReplicationDatabaseNotSecondary — Operacja oczekuje, że baza danych będzie miejscem docelowym replikacji.

  • 400 GeoReplicaLimitReached — osiągnięto limit replikacji dla repliki.

  • 400 FailoverGroupWithVirtualNetworkRulesNotSupported — grupy trybu failover skonfigurowane z automatycznymi zasadami trybu failover nie są obecnie obsługiwane na serwerach skonfigurowanych przy użyciu reguł zapory sieci wirtualnej. Skonfiguruj grupę trybu failover z ręcznymi zasadami trybu failover.

  • 400 UnableToResolveRemoteServer — nie można rozpoznać nazwy zdalnego serwera partnerskiego ze względu na nieprawidłową nazwę serwera lub problemy z łącznością DNS.

  • 400 RemoteDatabaseCopyPermission — użytkownik nie ma wystarczających uprawnień do utworzenia kopii bazy danych na określonym serwerze.

  • 400 SecurityAzureKeyVaultGeoChainError — tworzenie pomocniczych elementów pomocniczych (proces nazywany łańcuchem) nie jest obsługiwane podczas włączania Transparent Data Encryption przy użyciu Azure Key Vault (BYOK).

  • 400 FailoverGroupCreateOrUpdatePartiallySucceeded — nie można dodać ani usunąć niektórych baz danych.

  • 401 AzureKeyVaultKeyDisabled — nie można ukończyć operacji na serwerze, ponieważ klucz Azure Key Vault jest wyłączony.

  • 401 AzureKeyVaultNoServerIdentity — tożsamość serwera nie jest poprawnie skonfigurowana.

  • 401 AzureKeyVaultMissingPermissions — na serwerze brakuje wymaganych uprawnień do Azure Key Vault.

  • 401 AdalGenericError — nie można ukończyć operacji, ponieważ Napotkano błąd Azure Active Directory.

  • 401 AdalServicePrincipalNotFound — nie można ukończyć operacji, ponieważ Napotkano błąd jednostki usługi biblioteki Azure Active Directory.

  • 404 OperationIdNotFound — operacja o identyfikatorze nie istnieje.

  • 404 ResourceNotFound — nie znaleziono żądanego zasobu.

  • 404 OperationIdNotFound — operacja o identyfikatorze nie istnieje.

  • 404 ServerNotInSubscriptionResourceGroup — określony serwer nie istnieje w określonej grupie zasobów i subskrypcji.

  • 404 ServerNotInSubscription — określony serwer nie istnieje w określonej subskrypcji.

  • 404 SourceDatabaseNotFound — źródłowa baza danych nie istnieje.

  • 405 UnsupportedReplicationOperation — zainicjowano nieobsługiwaną operację replikacji w bazie danych.

  • 409 OperationCancelled — operacja została anulowana przez użytkownika.

  • 409 OperationInterrupted — nie można ukończyć operacji na zasobie, ponieważ została ona przerwana przez inną operację na tym samym zasobie.

  • 409 ConflictingServerOperation — operacja jest obecnie w toku dla serwera.

  • 409 SubscriptionDisabled — subskrypcja jest wyłączona.

  • 409 ConflictingSystemOperationInProgress — trwa operacja konserwacji systemu w bazie danych, a dalsze operacje muszą poczekać, aż zostanie ukończone.

  • 409 GeoReplicationCannotBecomePrimaryDuringUndo — użytkownik podjął próbę przełączenia w tryb failover lub wymusić zakończenie linku geograficznego, gdy pomocnicza jest w stanie, w którym może nie być fizycznie spójna i dlatego nie może wejść do roli podstawowej.

  • 409 ServerKeyNameAlreadyExists — klucz serwera już istnieje na serwerze.

  • 409 ServerKeyUriAlreadyExists — identyfikator URI klucza serwera już istnieje na serwerze.

  • 409 ServerKeyDoesNotExists — klucz serwera nie istnieje.

  • 409 UpdateSloInProgress — użytkownik próbował zainicjować niezgodną operację w trakcie trwającej aktualizacji SLO.

  • 409 AzureKeyVaultKeyNameNotFound — nie można ukończyć operacji, ponieważ nazwa klucza Azure Key Vault nie istnieje.

  • 409 AzureKeyVaultKeyInUse — klucz jest obecnie używany przez serwer.

  • 409 FailoverGroupAlreadyExists — Grupa trybu failover już istnieje na danym serwerze. Użyj innej nazwy grupy trybu failover.

  • 409 FailoverGroupBusy — Grupa trybu failover jest zajęta przez inną operację.

  • 409 DatabaseBelongsToOtherFailoverGroup — baza danych należy do innej grupy trybu failover i nie można jej uwzględnić w części.

  • 409 DatabaseBeingAddedToFailoverGroup — baza danych jest obecnie dodawana do grupy trybu failover, klient musi poczekać na zakończenie tej operacji w celu wystawienia usunięcia.

  • 409 DatabaseBeingRemovedFromFailoverGroup — baza danych jest obecnie usuwana z grupy trybu failover. Klient musi poczekać na zakończenie tej operacji, aby wydać dodanie.

  • 409 FailoverGroupDnsRecordInUse — istnieje zduplikowany rekord DNS dla żądanego punktu końcowego.

  • 409 InvalidFailoverGroupName — podano nieprawidłową nazwę grupy trybu failover.

  • 409 InvalidOperationForDatabaseNotInReplicationRelationship — operacja wypełniania replikacji została wykonana na bazie danych, która znajduje się już w relacji replikacji.

  • 409 InvalidDatabaseStateForOperation — operacja jest niedozwolona w bazie danych w jej bieżącym stanie replikacji.

  • 409 DuplicateGeoDrRelation — bazy danych znajdują się już w relacji replikacji. To jest zduplikowane żądanie.

  • 409 RemoteDatabaseExists — Nazwa docelowej bazy danych już istnieje na serwerze docelowym.

  • 409 FailoverGroupUnableToPerformGroupOperationOnDatabases — Lista baz danych do dodania/usunięcia do grupy trybu failover zawiera błędy, które uniemożliwiają ukończenie operacji.

  • 429 SubscriptionTooManyCreateUpdateRequests — żądania wykraczające poza maksymalną liczbę żądań, które mogą być przetwarzane przez dostępne zasoby.

  • 429 SubscriptionTooManyRequests — żądania wykraczające poza maksymalną liczbę żądań, które mogą być przetwarzane przez dostępne zasoby.

  • 500 OperationTimedOut — upłynął limit czasu operacji i zostanie on automatycznie wycofany. Ponów próbę wykonania operacji.

  • 503 TooManyRequests — żądania wykraczające poza maksymalną liczbę żądań, które mogą być przetwarzane przez dostępne zasoby.

  • 503 AzureKeyVaultConnectionFailed — nie można ukończyć operacji na serwerze, ponieważ próby nawiązania połączenia z Azure Key Vault się nie powiodły

  • 503 AzureKeyVaultGenericConnectionError — nie można ukończyć operacji, ponieważ wystąpił błąd podczas próby pobrania Key Vault informacji.

  • 503 DatabaseUnavailable — operacja nie powiodła się, ponieważ baza danych jest niedostępna.

  • 504 RequestTimeout — żądanie obsługi przekroczyło dozwolony limit czasu.

Przykłady

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=2020-08-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"
    ]
  }
}

Definicje

FailoverGroup

Grupa trybu failover.

FailoverGroupReadOnlyEndpoint

Punkt końcowy tylko do odczytu wystąpienia grupy trybu failover.

FailoverGroupReadWriteEndpoint

Punkt końcowy odczytu i zapisu wystąpienia grupy trybu failover.

FailoverGroupReplicationRole

Rola lokalnej replikacji wystąpienia grupy trybu failover.

PartnerInfo

Informacje o serwerze partnerskim dla grupy trybu failover.

ReadOnlyEndpointFailoverPolicy

Zasady trybu failover w punkcie końcowym tylko do odczytu dla grupy trybu failover.

ReadWriteEndpointFailoverPolicy

Zasady trybu failover w punkcie końcowym do odczytu i zapisu dla grupy trybu failover. Jeśli failoverPolicy jest automatyczna, failoverWithDataLossGracePeriodMinutes jest wymagane.

FailoverGroup

Grupa trybu failover.

Name Type Description
id
  • string

Identyfikator zasobu.

location
  • string

Lokalizacja zasobu.

name
  • string

Nazwa zasobu.

properties.databases
  • string[]

Lista baz danych w grupie trybu failover.

properties.partnerServers

Lista informacji o serwerze partnerskim dla grupy trybu failover.

properties.readOnlyEndpoint

Punkt końcowy tylko do odczytu wystąpienia grupy trybu failover.

properties.readWriteEndpoint

Punkt końcowy odczytu i zapisu wystąpienia grupy trybu failover.

properties.replicationRole

Rola lokalnej replikacji wystąpienia grupy trybu failover.

properties.replicationState
  • string

Stan replikacji wystąpienia grupy trybu failover.

tags
  • object

Tagi zasobów.

type
  • string

Typ zasobu.

FailoverGroupReadOnlyEndpoint

Punkt końcowy tylko do odczytu wystąpienia grupy trybu failover.

Name Type Description
failoverPolicy

Zasady trybu failover w punkcie końcowym tylko do odczytu dla grupy trybu failover.

FailoverGroupReadWriteEndpoint

Punkt końcowy odczytu i zapisu wystąpienia grupy trybu failover.

Name Type Description
failoverPolicy

Zasady trybu failover w punkcie końcowym do odczytu i zapisu dla grupy trybu failover. Jeśli failoverPolicy jest automatyczna, failoverWithDataLossGracePeriodMinutes jest wymagane.

failoverWithDataLossGracePeriodMinutes
  • integer

Upłynął okres prolongaty przed przejściem w tryb failover z utratą danych dla punktu końcowego odczytu i zapisu. Jeśli failoverPolicy jest automatyczna, failoverWithDataLossGracePeriodMinutes jest wymagane.

FailoverGroupReplicationRole

Rola lokalnej replikacji wystąpienia grupy trybu failover.

Name Type Description
Primary
  • string
Secondary
  • string

PartnerInfo

Informacje o serwerze partnerskim dla grupy trybu failover.

Name Type Description
id
  • string

Identyfikator zasobu serwera partnerskiego.

location
  • string

Lokalizacja geograficzna serwera partnerskiego.

replicationRole

Rola replikacji serwera partnerskiego.

ReadOnlyEndpointFailoverPolicy

Zasady trybu failover w punkcie końcowym tylko do odczytu dla grupy trybu failover.

Name Type Description
Disabled
  • string
Enabled
  • string

ReadWriteEndpointFailoverPolicy

Zasady trybu failover w punkcie końcowym do odczytu i zapisu dla grupy trybu failover. Jeśli failoverPolicy jest automatyczna, failoverWithDataLossGracePeriodMinutes jest wymagane.

Name Type Description
Automatic
  • string
Manual
  • string