Share via


Ripristinare un Database di Azure per PostgreSQL eliminato - Istanza del server flessibile

SI APPLICA A: Database di Azure per PostgreSQL - Server flessibile

Quando un server viene eliminato, il backup del server flessibile Database di Azure per PostgreSQL viene conservato per cinque giorni nel servizio. Il backup del database è accessibile e può essere ripristinato solo dalla sottoscrizione di Azure in cui risiedeva originariamente il server. È possibile seguire questa procedura consigliata per ripristinare una risorsa server flessibile Database di Azure per PostgreSQL eliminata entro cinque giorni dall'eliminazione del server. I passaggi consigliati funzionano solo se il backup per il server è ancora disponibile e non viene eliminato dal sistema. Anche se il ripristino di un server eliminato ha spesso esito positivo, non è sempre garantito, poiché il ripristino di un server eliminato dipende da diversi altri fattori.

Prerequisiti

Per ripristinare un'istanza del server flessibile Database di Azure per PostgreSQL eliminata, è necessario

  • Nome della sottoscrizione di Azure che ospita il server originale
  • Percorso in cui è stato creato il server
  • Usare la versione api-version 2023-03-01-preview

Passaggi per il ripristino

  1. Accedere al portale di Azure. Selezionare il servizio Monitoraggio e quindi log attività.

  2. In Log attività selezionare Aggiungi filtro come illustrato e impostare i filtri seguenti per quanto segue

    • Sottoscrizione = Sottoscrizione che ospita il server eliminato

    • Operazione = Eliminare il server PostgreSQL (Microsoft.DBforPostgreSQL/flexibleservers/delete)

      Screenshot che mostra il log attività filtrato per eliminare l'operazione del server PostgreSQL.

  3. Selezionare l'evento Delete PostgreSQL Server (Elimina server PostgreSQL), quindi selezionare la scheda JSON. Copiare gli attributi e submissionTimestamp nell'output resourceId JSON. L'attributo resourceId ha il formato seguente: /subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/ResourceGroup-name/providers/Microsoft.DBforPostgreSQL/flexibleServers/deletedserver.

  4. Passare alla pagina crea API REST server Database di Azure per PostgreSQL server flessibile e selezionare la scheda Prova evidenziata in verde. Accedere con l'account Azure.

    Importante

    Usare questa api-version 2023-03-01-preview anziché l'impostazione predefinita prima di eseguire per abilitare questa funzione API come previsto come descritto nel passaggio seguente.

  5. Specificare le proprietà resourceGroupName, serverName (nome server di destinazione), subscriptionId , in base al valore JSON dell'attributo resourceId acquisito nel passaggio 3 precedente. La proprietà api-version è prepopolata e può essere lasciata così come è, come illustrato nell'immagine seguente.

    Screenshot che mostra la pagina Prova api REST.

  6. Passare alla sezione Corpo della richiesta e incollare quanto segue sostituendo "Dropped server Location" (ad esempio CentralUS, EastUS e così via), "submissionTimestamp" e "resourceId". Per "pointInTimeUTC", specificare il valore "submissionTimestamp" più 5 minuti per assicurarsi che il comando non restituisca errori.

    {
      "location": "Dropped Server Location",  
      "properties": 
      {
        "pointInTimeUTC": "submissionTimestamp + 05 minutes",
        "createMode": "ReviveDropped",
        "sourceServerResourceId": "resourceId"
      }
    }
    

    Ad esempio, se il timestamp di invio è 2023-06-15T15:58:02Z, è consigliabile aggiungere almeno 5 minuti per ripristinare il punto nel tempo 2023-06-15T16:05:02Z e assicurarsi di modificare tre parametri (location,pointInTimeUTC,sourceServerResourceId) in base ai requisiti di ripristino.

    {
      "location": "EastUS",  
      "properties": 
      {
        "pointInTimeUTC": "2023-06-15T16:05:02Z",
        "createMode": "ReviveDropped",
        "sourceServerResourceId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/SourceResourceGroup-Name/providers/Microsoft.DBforPostgreSQL/flexibleServers/SourceServer-Name"
      }
    }
    

    Importante

    È previsto un limite di tempo di cinque giorni dopo l'eliminazione del server. Dopo cinque giorni, è previsto un errore perché non è possibile trovare il file di backup.

  7. Se viene visualizzato il codice di risposta 201 o 202, la richiesta di ripristino viene inviata correttamente.

    La creazione del server può richiedere tempo a seconda delle dimensioni del database e delle risorse di calcolo di cui è stato effettuato il provisioning nel server originale. Lo stato di ripristino può essere monitorato dal log attività filtrando per

    • Sottoscrizione = Sottoscrizione
    • Tipo di risorsa = server flessibili Database di Azure per PostgreSQL (Microsoft.DBforPostgreSQL/flexibleServers)
    • Operazione = Aggiornare la creazione del server PostgreSQL

Ripristinare un server abilitato per la rete virtuale eliminata

{
  "location": "EastUS",  
  "properties": {
    "createMode": "ReviveDropped",
    "sourceServerResourceId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/SourceResourceGroup-Name/providers/Microsoft.DBforPostgreSQL/flexibleServers/SourceServer-Name",
    "pointInTimeUTC": "2023-06-20T20:50:59.4078005+00:00",
    "Network": {
      "DelegatedSubnetResourceId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/SourceResourceGroup-Name/providers/Microsoft.Network/virtualNetworks/VirtualNetwork-Name/subnets/Subnet-Name",
      "PrivateDnsZoneArmResourceId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/SourceResourceGroup-Name/providers/Microsoft.Network/privateDnsZones/privatednszonename"
    }
  }
}

Errori comuni

  1. Se si usa la versione dell'API non corretta, è possibile che si verifichino errori di ripristino o timeout. Usare l'API 2023-03-01-preview per evitare tali problemi.
  2. Per evitare potenziali errori DNS, è consigliabile usare un nome diverso durante l'avvio del processo di ripristino, perché alcune operazioni di ripristino potrebbero non riuscire con lo stesso nome.

Passaggi successivi

  • Se si sta tentando di ripristinare un server entro cinque giorni e si riceve comunque un errore dopo aver seguito accuratamente i passaggi descritti in precedenza, aprire un evento imprevisto di supporto per assistenza. Se si sta tentando di ripristinare un server eliminato dopo cinque giorni, è previsto un errore perché il file di backup non è stato trovato. Non aprire un ticket di supporto in questo scenario. Il team di supporto non può fornire assistenza se il backup viene eliminato dal sistema.
  • Per evitare l'eliminazione accidentale dei server, è consigliabile usare blocchi delle risorse.