Ripristinare un database SQL di Azure mediante i backup automatici del databaseRecover an Azure SQL database using automated database backups

Per impostazione predefinita, i backup del database SQL vengono archiviati in Archiviazione BLOB con replica geografica (RA-GRS).By default, SQL Database backups are stored in geo-replicated blob storage (RA-GRS). Per il ripristino di database tramite backup automatici sono disponibili le opzioni seguenti:The following options are available for database recovery using automated database backups:

  • Creare un nuovo database nello stesso server di database SQL ripristinato a un determinato momento nel tempo entro il periodo di conservazione.Create a new database on the same SQL Database server recovered to a specified point in time within the retention period.
  • Creare un database nello stesso server di Database SQL ripristinato in base all'ora di eliminazione per un database eliminato.Create a database on the same SQL Database server recovered to the deletion time for a deleted database.
  • Creare un nuovo database su qualsiasi server di database SQL nella stessa area ripristinato in base ai backup più recenti.Create a new database on any SQL Database server in the same region recovered to the point of the most recent backups.
  • Creare un nuovo database su qualsiasi server di database SQL in qualsiasi altra area ripristinato in base ai backup replicati più recenti.Create a new database on any SQL Database server in any other region recovered to the point of the most recent replicated backups.

Se è stato configurato conservazione a lungo termine dei backup, è anche possibile creare un nuovo database da qualsiasi backup di conservazione a lungo termine in qualsiasi server di Database SQL.If you configured backup long-term retention, you can also create a new database from any LTR backup on any SQL Database server.

Importante

Non è possibile sovrascrivere un database esistente durante il ripristino.You cannot overwrite an existing database during restore.

Quando si usa un livello di servizio Standard o Premium, un database ripristinato comporta un costo di archiviazione aggiuntivo nei casi seguenti:When using Standard or Premium service tier, a restored database incurs an extra storage cost under the following conditions:

  • Ripristino di P11 – P15 in S4 S12 o P1 – P6 se le dimensioni massime del database sono maggiori di 500 GB.Restore of P11–P15 to S4-S12 or P1–P6 if the database max size is greater than 500 GB.
  • Ripristino di P1–P6 in S4-S12 se le dimensioni massime del database sono maggiori di 250 GB.Restore of P1–P6 to S4-S12 if the database max size is greater than 250 GB.

Aggiuntivo costo è icurred quando le dimensioni massime del database ripristinato sono superiore rispetto alla quantità di spazio di archiviazione incluso con livello di prestazioni e di servizio del database di destinazione.The extra cost is icurred when the max size of the restored database is greater than the amount of storage included with the target database's service tier and performance level. L'archiviazione extra sottoposte a provisioning oltre alla quantità inclusa verrà addebitato extra.The extra storage provisioned above the included amount is charged extra. Per i dettagli dei prezzi delle risorse di archiviazione aggiuntive, vedere la pagina dei prezzi del database SQL.For pricing details of extra storage, see the SQL Database pricing page. Se la quantità effettiva di spazio usato è inferiore alla quantità di spazio di archiviazione inclusa, è possibile evitare questo costo aggiuntivo impostando le dimensioni massime del database fino alla quantità inclusa.If the actual amount of used space is less than the amount of storage included, you can avoid this extra cost by setting the max database size to the included amount.

Nota

I backup di database automatici vengono usati quando si crea un copia del database.Automated database backups are used when you create a database copy.

Tempo di ripristinoRecovery time

Il tempo di ripristino di un database tramite i backup automatici del database dipende da numerosi fattori:The recovery time to restore a database using automated database backups is impacted by several factors:

  • Le dimensioni del databaseThe size of the database
  • Le dimensioni di calcolo del databaseThe compute size of the database
  • Il numero dei log delle transazioni interessateThe number of transaction logs involved
  • La quantità di attività che deve essere ripetuta per il ripristino al punto di ripristinoThe amount of activity that needs to be replayed to recover to the restore point
  • La larghezza di banda di rete se il ripristino avviene in un'area diversaThe network bandwidth if the restore is to a different region
  • Il numero di richieste simultanee di ripristino in corso di elaborazione nell'area di destinazioneThe number of concurrent restore requests being processed in the target region

Per un database di grandi dimensioni e/o molto attivo, il ripristino potrebbe richiedere diverse ore.For a large and/or very active database, the restore may take several hours. Nel caso di un'interruzione prolungata in un'area, è possibile che in altre aree vengano elaborate molte richieste di ripristino geografico.If there is prolonged outage in a region, it is possible that there are large numbers of geo-restore requests being processed by other regions. In presenza di numerose richieste, i tempi di recupero dei database in tale area possono aumentare.When there are many requests, the recovery time may increase for databases in that region. Per la maggior parte dei database, il ripristino richiede meno di 12 ore.Most database restores complete in less than 12 hours.

Per una singola sottoscrizione, esistono limitazioni sul numero di richieste simultanee di ripristino.For a single subscription, there are limitations on number of concurrent restore requests. Queste limitazioni si applicano a qualsiasi combinazione di punto di ripristino temporizzato, ripristino geografico e ripristino da backup con conservazione a lungo termine):These limitations apply to any combination of point in time restores, geo restores and restores from long-term retention backup):

Numero massimo di richieste simultanee elaborateMax # of concurrent requests being processed Numero massimo di richieste simultanee inviateMax # of concurrent requests being submitted
Database singolo (per sottoscrizione)Single database (per subscription) 1010 6060
Pool elastico (per pool)Elastic pool (per pool) 44 200200

Attualmente non è disponibile un metodo incorporato per ripristinare l'intero server.Currently there isn't a built-in method to restore the entire server. Lo script Database SQL di Azure: Full Server Recovery script è un esempio di come è possibile completare questa attività.The Azure SQL Database: Full Server Recovery script is an example of how you can accomplish this task.

Importante

Per eseguire il ripristino tramite i backup automatici, è necessario essere un membro del ruolo di collaboratore di SQL Server o proprietario della sottoscrizione - vedere RBAC: ruoli predefiniti.To recover using automated backups, you must be a member of the SQL Server Contributor role in the subscription or be the subscription owner - see RBAC: Built-in roles. Per il ripristino, è possibile usare il portale di Azure, PowerShell o l'API REST.You can recover using the Azure portal, PowerShell, or the REST API. Non è possibile usare Transact-SQL.You cannot use Transact-SQL.

Ripristino temporizzatoPoint-in-time restore

È possibile ripristinare un'autonoma, in pool, o istanza del database a un punto precedente nel tempo tramite il portale di Azure PowerShell, o il API REST.You can restore a standalone, pooled, or instance database to an earlier point in time using the Azure portal, PowerShell, or the REST API. La richiesta può specificare qualsiasi livello di servizio o di calcolo delle dimensioni per il database ripristinato.The request can specify any service tier or compute size for the restored database. Assicurarsi di disporre di risorse sufficienti sul server in cui si sta ripristinando il database.Ensure you have sufficient resources on the server to which you are restoring the database. Al termine dell'operazione, verrà creato un nuovo database nello stesso server del database originale.Once complete, a new database will be created on the same server as the original database. Il database ripristinato verrà addebitato alle tariffe normali in base al livello di servizio e dimensioni di calcolo.The restored database will be charged at normal rates based on its service tier and compute size. Non è previsto alcun addebito fino al completamento del ripristino del database.You do not incur charges until the database restore is complete.

In genere si ripristina un database a un punto precedente per scopi di ripristino.You generally restore a database to an earlier point for recovery purposes. È possibile considerare il database ripristinato come una sostituzione per il database originale o usarlo come i dati di origine per aggiornare il database originale.You can treat the restored database as a replacement for the original database or use it as a source data to update the original database.

  • Sostituzione del databaseDatabase replacement

    Se il database ripristinato è da intendersi come una sostituzione per il database originale, è necessario specificare dimensioni di calcolo del database orinal e livello di servizio.If the restored database is intended as a replacement for the original database, you should specify the orinal database's compute size and service tier. È quindi possibile rinominare il database originale e assegnare al database ripristinato il nome originale usando il ALTER DATABASE comando in T-SQL.You can then rename the original database and give the restored database the original name using the ALTER DATABASE command in T-SQL.

  • Ripristino dei datiData recovery

    Se si prevede di recuperare i dati dal database ripristinato per il ripristino da un errore dell'applicazione o utente, è necessario scrivere ed eseguire uno script di ripristino di dati che estrae dati dal database ripristinato e si applica al database originale.If you plan to retrieve data from the restored database to recover from a user or application error, you need to write and execute a data recovery script that extracts data from the restored database and applies to the original database. 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.Although the restore operation may take a long time to complete, the restoring database is visible in the database list throughout the restore process. Se si elimina il database durante il ripristino, sarà annullata l'operazione di ripristino e non ti verrà addebitata per il database che non è stato completato il ripristino.If you delete the database during the restore, the restore operation will be canceled and you will not be charged for the database that did not complete the restore.

Per eseguire il ripristino di un database singolo, in pool o dell'istanza a un determinato momento nel tempo tramite il portale di Azure, aprire la pagina per il database e fare clic su Ripristina nella barra degli strumenti.To recover a single, pooled, or instance database to a point in time using the Azure portal, open the page for your database and click Restore on the toolbar.

ripristino a un determinato momento nel tempo

Importante

Per ripristinare a livello di codice un database da un backup, vedere Esecuzione a livello di codice del ripristino tramite backup automaticiTo programmatically restore a database from a backup, see Programmatically performing recovery using automated backups

Ripristino di un database eliminatoDeleted database restore

È possibile ripristinare un database eliminato per l'ora di eliminazione o un punto precedente nel tempo nello stesso server di Database SQL usando il portale di Azure PowerShell, o il REST (createMode = Restore).You can restore a deleted database to the deletion time or an earlier point in time on the same SQL Database server using the Azure portal, PowerShell, or the REST (createMode=Restore). È possibile ripristinare un database eliminato in istanza gestita tramite PowerShell.You can restore deleted database on Managed Instance using PowerShell.

Suggerimento

Per uno script di PowerShell di esempio che illustra come ripristinare un database eliminato, vedere Ripristinare un database SQL tramite PowerShell.For a sample PowerShell script showing how to restore a deleted database, see Restore a SQL database using PowerShell.

Importante

Se si elimina un'istanza del server di database SQL di Azure, anche tutti i database relativi vengono eliminati e non possono essere recuperati.If you delete an Azure SQL Database server instance, all its databases are also deleted and cannot be recovered. Non è attualmente disponibile alcun supporto per il ripristino di un server eliminato.There is currently no support for restoring a deleted server.

Ripristino di un database eliminato con il portale di AzureDeleted database restore using the Azure portal

Per ripristinare un database eliminato tramite il portale di Azure, aprire la pagina per il server e nell'area operazioni fare clic su database eliminati.To recover a deleted database using the Azure portal, open the page for your server and in the Operations area, click Deleted databases.

deleted-database-restore-1

deleted-database-restore-2

Importante

Per ripristinare a livello di codice un database eliminato, vedere Esecuzione a livello di codice del ripristino tramite backup automaticiTo programmatically restore a deleted database, see Programmatically performing recovery using automated backups

Ripristino geograficoGeo-restore

Il ripristino geografico consente di ripristinare un database SQL presente su un server in qualsiasi area di Azure usando gli ultimi backup con replica geografica.You can restore a SQL database on any server in any Azure region from the most recent geo-replicated backups. Ripristino geografico Usa un backup con replica geografica come origine.Geo-restore uses a geo-replicated backup as its source. Può essere richiesto anche se il database o Data Center è inaccessibile a causa di un'interruzione del servizio.It can be requested even if the database or datacenter is inaccessible due to an outage.

Ripristino geografico è l'opzione di ripristino predefinita quando il database è disponibile a causa di un evento imprevisto nell'area di hosting.Geo-restore is the default recovery option when your database is unavailable because of an incident in the hosting region. È possibile ripristinare il database a un server in un'altra area.You can restore the database to a server in any other region. 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.There is a delay between when a backup is taken and when it is geo-replicated to an Azure blob in a different region. Di conseguenza, il database ripristinato può essere fino a un'ora indietro rispetto al database originale.As a result, the restored database can be up to one hour behind the orignal database. La figura seguente mostra il ripristino del database dall'ultimo backup disponibile in un'altra area.The following illustration shows restore of the database from the last available backup in another region.

Ripristino geografico

Suggerimento

Per uno script di PowerShell di esempio che illustra come eseguire un ripristino geografico, vedere Ripristinare un database SQL tramite PowerShell.For a sample PowerShell script showing how to perform a geo-restore, see Restore a SQL database using PowerShell.

Il ripristino temporizzato in un database di replica geografica secondaria non è attualmente supportato.Point-in-time restore on a geo-secondary is not currently supported. Il ripristino temporizzato può essere eseguito solo in un database primario.Point-in-time restore can be done only on a primary database. Per informazioni dettagliate sull'uso del ripristino geografico in caso di un'interruzione del servizio, vedere Ripristinare un database SQL di Azure o eseguire il failover in un database secondario.For detailed information about using geo-restore to recover from an outage, see Recover from an outage.

Importante

Il ripristino geografico è la più semplice soluzione di ripristino di emergenza disponibile nel Database SQL.Geo-restore is the most basic disaster recovery solution available in SQL Database. Si basa su creati automaticamente i backup con replica geografica con RPO = 1 ora e il tempo di recupero stimato di fino a 12 ore.It relies on automatically created geo-replicated backups with RPO = 1 hour and the estimated recovery time of up to 12 hours. Ciò garantisce che l'area di destinazione avrà la capacità di ripristino dei database dopo un ourage a livello di area perché sarà probabilmente un aumento della domanda ben strutturato.It does not guarantee that the target region will have the capacity to restore your database(s) after a regional ourage because a sharp increase of demand will be likely. Per applicazioni critiche non aziendali che usano database di dimensioni relativamente ridotte, il ripristino geografico è una soluzione di ripristino di emergenza appropriato.For non business critical application that use relatively small databases, geo-restore is an appropriate disaster recovery solution. Per applicazioni critiche business che utilizzano database di grandi dimensioni e devono garantire la continuità aziendale, è consigliabile usare gruppi di failover automatico.For busniess critical applications that use large databases and must ensure business continuity, you should use Auto-failover groups. Offre un RPO e RTO molto basso, e la capacità è sempre garantita.It offers a much lower RPO and RTO, and the capacity is always guaranteed. Per altre informazioni sulle opzioni di continuità aziendale, vedere Panoramica sulla continuità aziendale.For more information on business continuity choices, see Overview of business continuity.

Eseguire il ripristino geografico tramite il portale di AzureGeo-restore using the Azure portal

Per geo-ripristinare un database eliminato durante il periodo di conservazione basato su DTU o il periodo di conservazione basato su vCore tramite il portale di Azure, aprire la pagina dei database SQL e fare clic su Aggiungi.To geo-restore a database during its DTU-based model retention period or vCore-based model retention period using the Azure portal, open the SQL Databases page and then click Add. Nel casella di testo Seleziona origine selezionare Backup.In the Select source text box, select Backup. Specificare il backup da cui eseguire il ripristino nell'area e nel server di propria scelta.Specify the backup from which to perform the recovery in the region and on the server of your choice.

Nota

Ripristino geografico nel portale di Azure non è disponibile nell'istanza gestita.Geo-restore using the Azure portal is not available in Managed Instance. Usare PowerShell.Please use PowerShell instead.

Esecuzione a livello di codice del ripristino tramite backup automaticiProgrammatically performing recovery using automated backups

Come indicato in precedenza, oltre al portale di Azure, il ripristino di database può essere eseguito a livello di codice usando Azure PowerShell o l'API REST.As previously discussed, in addition to the Azure portal, database recovery can be performed programmatically using Azure PowerShell or the REST API. Le tabelle seguenti descrivono il set di comandi disponibili.The following tables describe the set of commands available.

PowerShellPowerShell

Nota

Questo articolo è stato aggiornato per usare il nuovo modulo Az di Azure PowerShell.This article has been updated to use the new Azure PowerShell Az module. È comunque possibile usare il modulo AzureRM, che continuerà a ricevere correzioni di bug almeno fino a dicembre 2020.You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Per altre informazioni sul nuovo modulo Az e sulla compatibilità di AzureRM, vedere Introduzione del nuovo modulo Az di Azure PowerShell.To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Per istruzioni sull'installazione del modulo Az, vedere Installare Azure PowerShell.For Az module installation instructions, see Install Azure PowerShell.

Importante

Il modulo Azure PowerShell per Resource Manager è ancora supportato dal Database SQL di Azure, ma i progetti di sviluppo future è per il modulo Az.Sql.The PowerShell Azure Resource Manager module is still supported by Azure SQL Database, but all future development is for the Az.Sql module. Per questi cmdlet, vedere azurerm. SQL.For these cmdlets, see AzureRM.Sql. Gli argomenti per i comandi nel modulo Az e nei moduli AzureRm sono sostanzialmente identici.The arguments for the commands in the Az module and in the AzureRm modules are substantially identical.

API RESTREST API

Per ripristinare un database singolo o in pool con l'API REST:To restore a single or pooled database using the REST API:

APIAPI DESCRIZIONEDescription
REST (createMode=Recovery)REST (createMode=Recovery) Ripristina un databaseRestores a database
Get Create or Update Database StatusGet Create or Update Database Status Restituisce lo stato durante un'operazione di ripristinoReturns the status during a restore operation

Interfaccia della riga di comando di AzureAzure CLI

RiepilogoSummary

I backup automatici proteggono i database da errori dell'utente e delle applicazioni, dall'eliminazione accidentale e da interruzioni prolungate.Automatic backups protect your databases from user and application errors, accidental database deletion, and prolonged outages. Questa funzionalità incorporata è disponibile per tutti i livelli di servizio e le dimensioni di calcolo.This built-in capability is available for all service tiers and compute sizes.

Passaggi successiviNext steps