Condividi tramite


Ripristinare un database di Azure eliminato per PostgreSQL

Quando un server viene eliminato, il backup del server flessibile di Database di Azure per PostgreSQL viene conservato per cinque giorni nel servizio. È possibile accedere e ripristinare il backup del database solo dalla sottoscrizione di Azure in cui si trova originariamente il server. È possibile seguire questa procedura consigliata per ripristinare una risorsa server flessibile di Database di Azure per PostgreSQL eliminata entro cinque giorni dal momento dell'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 server flessibile di Database di Azure per PostgreSQL eliminata, è necessario

  • Nome della sottoscrizione di Azure che ospita il server originale
  • Percorso in cui è stato creato il server
  • Usa la versione 2024-08-01 api-version

Passaggi per il ripristino

  1. Accedere al portale di Azure. Selezionare il servizio Monitor, quindi selezionare Registro attività.

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

  • Sottoscrizione = Sottoscrizione che ospita il server eliminato

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

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

  1. Selezionare l'evento Delete PostgreSQL Server, quindi selezionare la scheda JSON. Copiare gli attributi resourceId e submissionTimestamp nell'output JSON. ResourceId è nel formato seguente: /subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/ResourceGroup-name/providers/Microsoft.DBforPostgreSQL/flexibleServers/deletedserver.

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

Importante

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

  1. 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 sola.

  2. 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 un valore di "submissionTimestamp".

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

Assicurarsi di modificare tre parametri (location,pointInTimeUTC,sourceServerResourceId) in base ai requisiti di ripristino.

{
  "location": "WestUS",
  "properties": {
    "pointInTimeUTC": "2023-06-15T06:08: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.

  1. 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 registro delle attività applicando dei filtri

  • Sottoscrizione = Sottoscrizione
  • Tipo di risorsa = Server flessibili di Database di Azure per PostgreSQL (Microsoft.DBforPostgreSQL/flexibleServers)
  • Operazione = Aggiorna il server PostgreSQL Create

Ripristinare un server eliminato abilitato a una rete virtuale

Il ripristino di un server abilitato per la rete virtuale eliminata prevede la specifica di proprietà di rete aggiuntive, ad esempio l'ID risorsa della subnet delegata e l'ID risorsa della zona DNS privata di Azure Resource Manager. Seguire questa procedura per ripristinare il server con le configurazioni di rete necessarie.

{
  "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 2024-08-01 per evitare tali problemi.

  2. Per evitare potenziali errori DNS, è consigliabile usare un nome diverso quando si avvia il processo di ripristino, perché alcune operazioni di ripristino potrebbero non riuscire con lo stesso nome.