Eseguire un ripristino in situ

Questa pagina descrive come ripristinare i dati di un backup in un database con lo stesso nome del database di origine del backup. Prima di leggere questa pagina, devi acquisire familiarità con Backup e ripristino dei dati.

Ripristino in loco

Un ripristino sul posto consente di ripristinare un database da un backup nel database di origine che ha creato il backup mentre il database originale esiste ancora. Un ripristino sul posto ti aiuta a evitare di reindirizzare il traffico o di creare un database con un nome diverso.

Un'operazione di ripristino deve utilizzare un database di destinazione che non esiste già. Tuttavia, puoi simulare un ripristino sul posto eliminando il database di origine e poi ripristinando da un backup in un nuovo database con lo stesso nome del database di origine.

Eseguire un ripristino in loco

Per eseguire un ripristino sul posto:

  1. Identifica il backup da utilizzare per l'operazione di ripristino.
  2. Elimina il database esistente.
  3. Utilizza il backup e l'ID database del database eliminato per completare l'operazione di ripristino.

Prima di iniziare

Ti consigliamo di completare i seguenti passaggi prima di avviare il processo di ripristino sul posto:

  1. Esporta i dati nel database che eliminerai.

    Se devi recuperare il database eliminato, importa i dati dall'operazione di esportazione. Per recuperare il database eliminato con lo stesso ID database, devi attendere il completamento di tutte le operazioni di ripristino in esecuzione e poi:

    1. Elimina il database esistente con l'ID database e attendi almeno 5 minuti.
    2. Crea un nuovo database con l'ID database
    3. Avviare un'operazione di importazione
  2. Recupera e copia la configurazione dell'indice del database. Le operazioni di esportazione non acquisiscono le definizioni di indice. Utilizza la configurazione dell'indice per ricreare gli indici dopo aver completato l'operazione di ripristino sul posto. Utilizza i seguenti comandi per recuperare la configurazione dell'indice del database:

    • Utilizza gcloud firestore indexes composite list per recuperare un elenco di indici composti:

      gcloud firestore indexes composite list --database=DATABASE_ID
      

      Sostituisci DATABASE_ID con l'ID del tuo database.

    • Utilizza gcloud firestore indexes fields list per recuperare un elenco di esenzioni dell'indice a campo singolo (incorporato).

      gcloud firestore indexes fields list --database=DATABASE_ID
      

Eseguire un ripristino in loco

Completa i seguenti passaggi per eseguire un'operazione di ripristino sul posto. Questo processo richiede un tempo di inattività tra il momento in cui elimini il database e il momento in cui l'operazione di ripristino viene completata.

Una volta avviata un'operazione di ripristino, non puoi annullarla e devi attendere il completamento dell'operazione. L'operazione di ripristino occupa immediatamente l'ID database utilizzato nell'operazione.

  1. Utilizza il comando gcloud alpha firestore backups list per identificare il backup da utilizzare per l'operazione di ripristino e annota il nome della risorsa. Il nome della risorsa utilizza il seguente formato:

        projects/PROJECT_ID/locations/LOCATION/backups/BACKUP_ID
    
  2. Utilizza il comando gcloud firestore databases delete per eliminare il database esistente:

        gcloud firestore databases delete --database='DATABASE_ID'
    

    Sostituisci DATABASE_ID con l'ID database.

  3. Attendi almeno 5 minuti dopo aver eliminato il database prima che l'ID database torni disponibile. Avvia un'operazione di ripristino utilizzando il comando gcloud alpha firestore databases restore:

    gcloud alpha firestore databases restore \
    --source-backup=projects/PROJECT_ID/locations/LOCATION/backups/BACKUP_ID \
    --destination-database='DATABASE_ID'
    

    Sostituisci DATABASE_ID con l'ID database.

Passaggi successivi