Ripristinare un database da un backup in Azure SQL Database

Si applica a: Database SQL di Azure

Questo articolo illustra la procedura per ripristinare qualsiasi database da un backup in Azure SQL Database, inclusi i database Hyperscale. Per Istanza gestita di SQL di Azure, vedere Ripristinare un database da un backup in Istanza gestita di SQL di Azure.

I backup automatici del database consentono di proteggere i database da errori utente e applicazione, eliminazione accidentale del database e interruzioni prolungate. Questa funzionalità incorporata è disponibile per tutti i livelli di servizio e le dimensioni di calcolo. Sono disponibili le opzioni seguenti per il ripristino del database tramite backup automatici:

  • Creare un nuovo database nello stesso server ripristinato a un determinato momento nel tempo entro il periodo di conservazione.
  • Creare un database nello stesso server ripristinato in base all'ora di eliminazione per un database eliminato.
  • Creare un nuovo database in qualsiasi server nella stessa area, ripristinato al momento di un backup recente.
  • Creare un nuovo database su qualsiasi server in qualsiasi altra area, ripristinato al punto dei backup replicati più recenti.

Se la conservazione a lungo termine è stata configurata, è anche possibile creare un nuovo database da qualsiasi backup di conservazione a lungo termine in qualsiasi server.

Importante

  • Non è possibile sovrascrivere un database esistente durante il ripristino.
  • Le operazioni di ripristino del database non ripristinano i tag del database originale.

Quando si usa il livello di servizio Standard o Premium nel modello di acquisto DTU, il ripristino del database potrebbe comportare un costo di archiviazione aggiuntivo. Il costo aggiuntivo si verifica quando le dimensioni massime del database ripristinato sono maggiori della quantità di spazio di archiviazione inclusa nel livello di servizio e nell'obiettivo di servizio del database di destinazione.

Per i dettagli dei prezzi delle risorse di archiviazione aggiuntive, vedere la pagina dei prezzi del database SQL. Se la quantità effettiva di spazio usato è inferiore alla quantità di spazio di archiviazione inclusa, è possibile evitare questo costo aggiuntivo impostando la dimensione massima del database sull'importo incluso.

Tempo di ripristino

Diversi fattori influiscono sul tempo di ripristino per ripristinare un database tramite backup automatici del database:

  • Le dimensioni del database
  • Le dimensioni di calcolo del database
  • Il numero dei log delle transazioni interessate
  • La quantità di attività che deve essere ripetuta per il ripristino al punto di ripristino
  • La larghezza di banda di rete se il ripristino avviene in un'area diversa
  • Numero di richieste di ripristino simultanee elaborate nell'area di destinazione

Per un database molto di grandi dimensioni o molto attivo il ripristino potrebbe richiedere diverse ore. Un'interruzione prolungata in un'area potrebbe causare un numero elevato di richieste di ripristino geografico per il ripristino di emergenza. In presenza di numerose richieste, i tempi di recupero dei database in tale area possono aumentare. Per la maggior parte dei database, il ripristino richiede meno di 12 ore.

Per una singola sottoscrizione, sono previste le limitazioni seguenti per il numero di richieste di ripristino simultanee. Queste limitazioni si applicano a qualsiasi combinazione di ripristini temporizzati, ripristini geografici e ripristini da backup con conservazione a lungo termine.

Opzione di distribuzione Numero massimo di richieste simultanee elaborate Numero massimo di richieste simultanee inviate
Database singolo (per sottoscrizione) 30 100
Pool elastico (per pool) 4 2.000

Autorizzazioni

Per eseguire il ripristino usando backup automatizzati, è necessario:

  • Membro del ruolo Collaboratore o del ruolo Collaboratore SQL Server nella sottoscrizione o nel gruppo di risorse che contiene il server logico
  • Proprietario della sottoscrizione o del gruppo di risorse

Per altre informazioni, vedere Controllo degli accessi in base al ruolo di Azure: ruoli predefiniti.

È possibile eseguire il ripristino usando il portale di Azure, PowerShell o l'API REST. Non è possibile usare Transact-SQL.

Ripristino temporizzato

È possibile ripristinare qualsiasi database a un punto precedente nel tempo entro il periodo di conservazione. La richiesta di ripristino può specificare qualsiasi livello di servizio o dimensione di calcolo per il database ripristinato. Quando si ripristina un database in un pool elastico, assicurarsi di disporre di risorse sufficienti nel pool per supportare il database.

Al termine del ripristino, viene creato un nuovo database nello stesso server del database originale. Il database ripristinato viene addebitato a tariffe normali, in base al livello di servizio e alle dimensioni di calcolo. Non vengono addebitati addebiti fino al completamento del ripristino del database.

In genere si ripristina un database a un punto precedente per scopi di ripristino. È possibile considerare il database ripristinato come sostituzione del database originale o usarlo come origine dati per aggiornare il database originale.

Importante

  • È possibile eseguire un ripristino solo nello stesso server. Il ripristino temporizzato non supporta il ripristino tra server.
  • Non è possibile eseguire un ripristino temporizzato in un database di replica geografica secondario. Questa operazione può essere eseguita solo su un database primario.
  • Il BackupFrequency parametro non è supportato per i database Hyperscale.
  • Le operazioni di ripristino del database sono a elevato utilizzo di risorse e possono richiedere un livello di servizio S3 o superiore per il database di ripristino (di destinazione). Al termine del ripristino, il database o il pool elastico può essere ridotto, se necessario.
  • Sostituzione del database

    Se si vuole che il database ripristinato sia una sostituzione per il database originale, è necessario specificare le dimensioni di calcolo e il livello di servizio del database originale. È quindi possibile rinominare il database originale e assegnare al database ripristinato il nome originale usando il comando ALTER DATABASE in T-SQL.

  • Ripristino dei dati

    Se si prevede di recuperare dati dal database ripristinato per il ripristino da un errore di un utente o di un'applicazione, è necessario scrivere ed eseguire uno script di ripristino dei dati che estrae i dati dal database ripristinato e si applica al database originale. Anche se il completamento dell'operazione di ripristino potrebbe richiedere molto tempo, il database di ripristino è visibile nell'elenco di database durante tutto il processo di ripristino.

    Se si elimina il database durante il ripristino, l'operazione di ripristino verrà annullata. Non verrà addebitato alcun costo per il database che non ha completato il ripristino.

Per ripristinare un database in un momento specifico usando il portale di Azure, aprire la pagina di panoramica del database e selezionare Ripristina sulla barra degli strumenti. Scegliere l'origine di backup e quindi selezionare il punto di backup temporizzato da cui verrà creato un nuovo database.

Screenshot delle opzioni di ripristino del database per database SQL.

Ripristino backup a lungo termine

Per eseguire un'operazione di ripristino in un backup a lungo termine, è possibile usare la portale di Azure, l'interfaccia della riga di comando di Azure, Azure PowerShell o l'API REST. Per altre informazioni, vedere Ripristinare un backup a lungo termine. La conservazione a lungo termine non è applicabile ai database Hyperscale.

Per ripristinare un backup a lungo termine usando la portale di Azure, passare al server logico. Selezionare Backup in Impostazioni e quindi selezionare Gestisci in BackupLTR disponibili per il database che si sta tentando di ripristinare.

Screenshot della portale di Azure che mostra i backup di conservazione a lungo termine disponibili.

Ripristino di un database eliminato

È possibile ripristinare un database eliminato nel tempo di eliminazione o in un momento precedente nello stesso server usando l'portale di Azure, l'interfaccia della riga di comando di Azure, Azure PowerShell e l'API Rest.

Importante

Se si elimina un server, tutti i relativi database vengono eliminati e non possono essere ripristinati. Non è possibile ripristinare un server eliminato.

Per ripristinare un database eliminato al tempo di eliminazione usando il portale di Azure, aprire la pagina di panoramica del server e selezionare Database eliminati. Selezionare un database eliminato da ripristinare e quindi immettere il nome per il nuovo database che verrà creato con i dati ripristinati dal backup.

Screenshot della portale di Azure che mostra come ripristinare un database eliminato.

Suggerimento

Potrebbero essere necessari diversi minuti per visualizzare i database eliminati di recente nella pagina Database eliminati nella portale di Azure o quando si desidera visualizzare database eliminati a livello di codice.

Ripristino geografico

È possibile usare il ripristino geografico per ripristinare un database eliminato usando l'portale di Azure, l'interfaccia della riga di comando di Azure, Azure PowerShell e l'API Rest.

Importante

  • Il ripristino geografico è disponibile solo per i database configurati con l'archiviazione di backup con ridondanza geografica. Se attualmente non si usano backup con replica geografica per un database, è possibile modificare questa impostazione configurando la ridondanza dell'archivio di backup.
  • È possibile eseguire il ripristino geografico solo nei database che risiedono nella stessa sottoscrizione.

Il ripristino geografico usa i backup con replica geografica come origine. È possibile ripristinare un database in qualsiasi server logico in qualsiasi area di Azure dai backup con replica geografica più recenti. È possibile richiedere un ripristino geografico anche se un'interruzione ha reso il database o l'intera area inaccessibile.

Il ripristino geografico è l'opzione di ripristino predefinita quando il database non è disponibile a causa di un evento imprevisto nell'area di hosting. È possibile ripristinare il database in un server in qualsiasi altra area.

Si verifica un ritardo tra l'esecuzione di un backup e la replica geografica in un BLOB di Azure in un'area diversa. Di conseguenza, il database ripristinato può essere fino a un'ora dietro il database originale. Nella figura seguente viene illustrato un ripristino del database dall'ultimo backup disponibile in un'altra area.

Illustrazione del ripristino geografico.

Dal portale di Azure si crea un nuovo database singolo e si seleziona un backup di ripristino geografico disponibile. Il database appena creato contiene i dati di backup ripristinati geograficamente.

Per ripristinare geograficamente un singolo database dal portale di Azure nell'area e nel server scelto, seguire questa procedura:

  1. Nel dashboard selezionare Aggiungi>database SQL crea. Nella scheda Nozioni di base immettere le informazioni necessarie.
  2. Seleziona Impostazioni aggiuntive.
  3. Per Usare i dati esistenti, selezionare Backup.
  4. Selezionare un backup dall'elenco dei backup di ripristino geografico disponibili.

Screenshot della portale di Azure che mostra le opzioni per creare un database.

Completare il processo di creazione di un database dal backup. Quando si crea un database nel database Azure SQL, contiene il backup di ripristino geografico ripristinato.

Considerazioni sul ripristino geografico

Per informazioni dettagliate sull'uso del ripristino geografico per il ripristino da un'interruzione, vedere Ripristino da un'interruzione.

Il ripristino geografico è la soluzione di ripristino di emergenza più di base disponibile in database SQL. Si basa su backup con replica geografica automaticamente con un obiettivo del punto di ripristino (RPO) di fino a 1 ora e un obiettivo di tempo di ripristino stimato (RTO) fino a 12 ore. Non garantisce che l'area di destinazione abbia la capacità di ripristinare i database dopo un'interruzione a livello regionale, perché probabilmente è probabile un aumento della domanda. Se l'applicazione usa database relativamente piccoli e non è fondamentale per l'azienda, il ripristino geografico è una soluzione di ripristino di emergenza appropriata.

Per le applicazioni critiche che richiedono database di grandi dimensioni e che devono garantire la continuità aziendale, usare gruppi di failover automatico. Questa funzionalità offre un rpo e un RTO molto più basso e la capacità è sempre garantita.

Per altre informazioni sulle scelte di continuità aziendale, vedere Panoramica della continuità aziendale.

Nota

Se si prevede di usare il ripristino geografico come soluzione di ripristino di emergenza, è consigliabile eseguire esercitazioni periodiche per verificare la tolleranza dell'applicazione a qualsiasi perdita di modifiche dei dati recenti, insieme a tutti gli aspetti operativi della procedura di ripristino.

Passaggi successivi