Ripristinare un database da un backup del database SQL di Azure
Si applica a: Database SQL di Azure
Questo articolo illustra i passaggi per recuperare qualsiasi database da un backup nel database SQL di Azure, inclusi i database Hyperscale.
Panoramica
I backup automatici del database aiutano a proteggere i database da errori dell'utente e delle applicazioni, dall'eliminazione accidentale e da interruzioni prolungate. Questa funzionalità incorporata è disponibile per tutti i livelli di servizio e le dimensioni di calcolo. Per il recupero di database tramite backup automatizzati sono disponibili le opzioni seguenti:
- Creare un nuovo database nello stesso server ripristinato a un determinato momento nel tempo entro il periodo di conservazione con il ripristino temporizzato.
- Creare un database nello stesso server ripristinato in base all'ora di eliminazione per un database eliminato.
- Creare un nuovo database su qualsiasi server della stessa area, ripristinato al momento di un backup recente con il ripristino della conservazione a lungo termine o il ripristino dell’area geografica.
- Creare un nuovo database su qualsiasi server in qualsiasi altra area, ripristinato al punto dei backup replicati con il ripristino dell’area geografica.
Se è stata configurata la conservazione a lungo termine, puoi anche creare un nuovo database da qualsiasi backup di conservazione a lungo termine su 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 usano i livelli di servizio Standard o Premium nel modello di acquisto DTU, il ripristino database potrebbe comportare un costo di archiviazione aggiuntivo. Il costo aggiuntivo incorre quando le dimensioni massime del database ripristinato sono maggiori della quantità di spazio di archiviazione inclusa con il livello di servizio e l’oggetto assistenza del database obiettivo.
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à inclusa di risorse di archiviazione, questo costo aggiuntivo può essere evitato impostando le dimensioni massime del database sulla quantità inclusa.
Tempi di recupero
Il tempo di recupero di un database tramite i backup automatizzati del database dipende da numerosi fattori:
- 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
- Il numero di richieste simultanee di ripristino in corso di elaborazione nell'area obiettivo.
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 sottoscrizione singola sussistono i seguenti limiti 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.
Opzioni 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 il recupero tramite backup automatizzati, è necessario:
- un membro del ruolo Collaboratore o Collaboratore SQL Server nella sottoscrizione o nel gruppo di risorse che contiene il server logico
- Il proprietario della sottoscrizione o del gruppo di risorse
Per altre informazioni, vedi Controllo degli accessi in base al ruolo di Azure: ruoli predefiniti.
Per il ripristino, è possibile usare il portale di Azure, PowerShell o l'API REST. Non è possibile usare Transact-SQL.
Ripristino temporizzato
Puoi ripristinare un database in un punto 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 ripristini un database in un pool elastico, accertati di disporre di risorse sufficienti nel pool per supportare il database.
Al termine, il ripristino crea un nuovo database nello stesso server del database originale, alle tariffe normali in base al livello di servizio e alle dimensioni di calcolo. Non è previsto alcun addebito fino al completamento del ripristino del database.
In genere si ripristina un database a un punto precedente per scopi di ripristino. Puoi considerare il database ripristinato come sostituzione del database originale o usarlo come origine dati per aggiornare il database originale.
Importante
- Puoi eseguire il ripristino temporizzato di un database in un nuovo server. Il ripristino temporizzato tra server, tra sottoscrizioni e tra aree geografiche non è supportato al momento. Per ripristinare un database in un'area diversa usando backup con replica geografica, vedi Ripristino geografico.
- Non è possibile eseguire un ripristino temporizzato in un database di replica geografica secondario. Questa operazione può essere eseguita solo su un database primario.
- Il parametro
BackupFrequency
non è supportato per i database Hyperscale. - Le operazioni di ripristino database sono a elevato utilizzo di risorse e potrebbero richiedere un livello di servizio S3 o superiore per il database di ripristino (obiettivo). Al termine del ripristino, il database o il pool elastico potrebbe essere ridimensionato, se necessario.
Sostituzione del database
Se vuoi che il database ripristinato sia una sostituzione per il database originale, devi specificare le dimensioni di calcolo e il livello di servizio del database originale. Puoi rinominare il database originale e assegnare al database ripristinato il nome originale usando il comando ALTER DATABASE in T-SQL.
Ripristino dei dati
Se prevedi di riprendere dati dal database ripristinato in caso di recupero da un errore dell'applicazione o dell'utente, devi scrivere ed eseguire uno script di ripristino per estrarre i dati dal database ripristinato e applicarli al database originale. Anche se il completamento dell'operazione di ripristino può richiedere molto tempo, il database in fase di ripristino è visibile nell'elenco dei database per tutto il processo di ripristino.
Se si elimina il database durante il ripristino, l'operazione verrà annullata. Non verrà addebitato alcun costo per il ripristino incompleto del database.
Per recuperare un database a un determinato momento nel tempo con il portale di Azure, aprire la pagina di panoramica del database e sulla barra degli strumenti aprire la pagina Ripristina per aprire la pagina Crea database SQL - Ripristina database:
Nella pagina Crea database SQL - Ripristina database, specificare l'origine per il backup e quindi selezionare il punto di backup temporizzato da cui verrà creato un nuovo database. Poiché il database scelto deve essere ripristinato nel server corrente, il database di origine e il server di destinazione sono disattivati.
Ripristino dei backup a lungo termine
Per eseguire un'operazione di ripristino in un backup a lungo termine, puoi usare il portale di Azure, l'interfaccia della riga di comando di Azure, Azure PowerShell o l'API REST. Per altre informazioni, vedi Ripristino dei backup a lungo termine.
Per ripristinare un backup a lungo termine usando il portale di Azure, passa al server logico. Seleziona Backup in Gestione dei dati, quindi seleziona Gestisci in Backup con conservazione a lungo termine disponibili per il database che stai cercando di ripristinare.
Ripristinare un database eliminato
Puoi ripristinare un database eliminato al momento dell'eliminazione o a un punto precedente nel tempo, nello stesso server, usando il portale di Azure, l’interfaccia della riga di comando di Azure, Azure PowerShell e l’API REST.
Importante
Se elimini un server, vengono eliminati anche tutti i relativi database e backup PITR. Non puoi ripristinare un server eliminato, né ripristinare i database eliminati dai backup PITR. Se hai configurato backup di conservazione a lungo termine per il database, puoi usare tali backup per ripristinare i database in un server diverso.
Per recuperare un database eliminato al momento dell'eliminazione con il portale di Azure, apri la pagina di panoramica del server e seleziona Database eliminati. Seleziona il database eliminato da ripristinare e immetti il nome del nuovo database che verrà creato con i dati ripristinati dal backup.
Suggerimento
Potrebbero essere necessari alcuni minuti per visualizzare i database eliminati di recente nella pagina Database eliminati del portale di Azure o quando i database eliminati vengono visualizzati in modo programmatico.
Ripristino geografico
Puoi usare il ripristino geografico per ripristinare un database eliminato usando il 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 archivio 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.
- Puoi eseguire il ripristino geografico solo nei database che risiedono nella stessa sottoscrizione.
Il ripristino geografico usa come origine un backup con replica geografica. Puoi ripristinare un database presente su un server logico in qualsiasi area di Azure usando gli ultimi backup con replica geografica. Puoi richiedere un ripristino geografico anche se il database o l’intera area è inaccessibile a causa di un'interruzione del servizio.
Il ripristino geografico è l'opzione di ripristino predefinita quando il database non è disponibile a causa di un evento imprevisto nell'area in cui è ospitato. È possibile ripristinare il database in un server in qualsiasi altra area.
Esiste un ritardo tra il momento in cui un backup viene creato e quando ne viene eseguita la replica geografica in un BLOB di Azure in un'area diversa. Di conseguenza, il database ripristinato può essere precedente fino a un'ora rispetto al database originale. La figura seguente mostra il ripristino di un database dall'ultimo backup disponibile in un'altra area.
Dal portale di Azure crea un nuovo database singolo e seleziona un backup di ripristino geografico disponibile. Il database appena creato contiene i dati di backup con ripristino geografico.
Per eseguire il ripristino geografico di un database singolo dal portale di Azure nell'area e nel server di tua scelta, segui i seguenti passaggi:
- Aprire il riquadro Crea un database SQL nel portale di Azure. Nella scheda Nozioni di base immettere le informazioni necessarie.
- Seleziona Impostazioni aggiuntive.
- Per Usa dati esistenti selezionare Backup.
- Selezionare un backup dall'elenco dei backup di ripristino geografico disponibili.
Completa il processo di creazione di un nuovo database dal backup. Quando crei un database SQL di Azure, esso contiene il backup del ripristino geografico ripristinato.
Considerazioni sul ripristino geografico
Per altre informazioni sull'uso del ripristino geografico, vedi Recupero con il ripristino geografico.
Nota
Per informazioni dettagliate sul recupero da un'interruzione, vedi materiale sussidiario sul ripristino di emergenza e l'elenco di controllo su disponibilità elevata e ripristino di emergenza.
Il ripristino a livello geografico è la soluzione di ripristino di emergenza di base disponibile nel database SQL. Si basa sui backup con replica geografica creati automaticamente con obiettivo del punto di ripristino (RPO) uguale a 1 ora e obiettivo del tempo di recupero (RTO) stimato per un massimo di 12 ore. Non garantisce che l'area di destinazione abbia la capacità di ripristinare i database dopo un'interruzione a livello di area, perché è probabile che si verifichi un forte aumento della domanda. Se l'applicazione usa database di dimensioni relativamente ridotte e non è critica per l'azienda, il ripristino geografico è una soluzione di ripristino di emergenza appropriata.
Per le applicazioni business critical che richiedono database di grandi dimensioni e che devono garantire la continuità aziendale, usa gruppi di failover. Offrono RPO e RTO molto più bassi e la capacità è sempre garantita.
Per altre informazioni sulle opzioni di continuità aziendale, vedi Informazioni generali sulla continuità aziendale.
Nota
Se prevedi di usare il ripristino geografico come soluzione di ripristino di emergenza, consigliamo di eseguire esercitazioni periodiche per verificare la tolleranza dell'applicazione a qualsiasi perdita di modifiche recenti ai dati, insieme a tutti gli aspetti operativi della procedura di recupero.
Ripristino di database in un altro server
È possibile utilizzare i metodi seguenti per ripristinare un database in un altro server:
- Ripristino dei backup a lungo termine
- Ripristino geografico
- Copia del database
- Replica geografica attiva