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

Il database SQL prevede queste opzioni per il ripristino del database mediante backup automatici del database e backup nella conservazione a lungo termine.SQL Database provides these options for database recovery using automated database backups and backups in long-term retention. È possibile ripristinare un backup di database in:You can restore from a database backup to:

  • Un nuovo database nello stesso server logico ripristinato in una temporizzazione specificata entro il periodo di conservazione.A new database on the same logical server recovered to a specified point in time within the retention period.
  • Un database nello stesso server logico ripristinato all'ora di eliminazione per un database eliminato.A database on the same logical server recovered to the deletion time for a deleted database.
  • Un nuovo database in qualsiasi server logico in qualsiasi area ripristinato ai backup giornalieri più recenti nell'archiviazione BLOB con replica geografica (RA-GRS).A new database on any logical server in any region recovered to the point of the most recent daily backups in geo-replicated blob storage (RA-GRS).

Importante

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

Un database ripristinato comporta un costo di archiviazione aggiuntivo nei segeunti casi: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 o PRS1–PRS6 in S4-S12 se le dimensioni massime del database sono maggiori di 250 GB.Restore of P1–P6 or PRS1–PRS6 to S4-S12 if the database max size is greater than 250 GB.

Viene addebitato un costo aggiuntivo perché la dimensione massima del database ripristinato è superiore alla dimensione di archiviazione inclusa per il livello di prestazioni; vengono applicati costi aggiuntivi per l'archiviazione aggiuntiva di cui viene eseguito il provisioning che supera la dimensione inclusa.The extra cost is because the max size of the restored database is greater than the amount of storage included for the performance level, and any 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à inclusa di risorse di archiviazione, questo costo aggiuntivo può essere evitato riducendo le dimensioni massime del database fino alla quantità inclusa.If the actual amount of space used is less than the amount of storage included, then this extra cost can be avoided by reducing the database max size to the included amount. Per altre informazioni sulle dimensioni di archiviazione del database e la modifica delle dimensioni massime del database, vedere limiti delle risorse per il database singolo.For more information about database storage sizes and changing the database maximum size, see single database resource limits.

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
  • Il livello di prestazioni del databaseThe performance level 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 destinazione.The number of concurrent restore requests being processed in the target region.

    Per un database molto grande e/o attivo il ripristino potrebbe richiedere diverse ore.For a very large and/or 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 al massimo 12 ore.Most database restores complete within 12 hours.

Per una singola sottoscrizione, ci sono alcune limitazioni sul numero di richieste simultanee di ripristino (compresi ripristino temporizzato, ripristino geografico e ripristino da un backup con conservazione a lungo termine) che possono essere inviate ed eseguite:For a single subscription, there’re some limitations on number of concurrent restore requests (including point in time restore, geo restore and restore from long term retention backup) being submitted and proceeded:

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

Non è disponibile una funzionalità incorporata per il ripristino in blocco.There is no built-in functionality to do bulk restore. Lo script Database SQL di Azure: Full Server Recovery è un esempio di un modo per eseguire questa operazione.The Azure SQL Database: Full Server Recovery script is an example of one way of accomplishing 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.To recover using automated backups, you must be a member of the SQL Server Contributor role in the subscription or be the subscription owner. 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 database esistente a un punto specifico nel tempo come un nuovo database nello stesso server logico tramite il portale di Azure, PowerShell o l'API REST.You can restore an existing database to an earlier point in time as a new database on the same logical server using the Azure portal, PowerShell, or the REST API.

Suggerimento

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

Il database può essere ripristinato a qualsiasi livello di prestazioni o di servizio, come database singolo o in un pool elastico.The database can be restored to any service tier or performance level, and as a single database or into an elastic pool. Assicurarsi di disporre di risorse sufficienti sul server logico o nel pool elastico in cui si sta ripristinando il database.Ensure you have sufficient resources on the logical server or in the elastic pool to which you are restoring the database. Al termine, il database ripristinato è un normale database online completamente accessibileOnce complete, the restored database is a normal, fully accessible, online database. alle tariffe normali in base al livello di prestazioni e di servizio.The restored database is charged at normal rates based on its service tier and performance level. 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. Quando si esegue questa operazione, è possibile considerare il database ripristinato come una sostituzione per il database originale o usarlo per recuperare i dati e quindi aggiornare il database originale.When doing so, you can treat the restored database as a replacement for the original database or use it to retrieve data from and then update the original database.

  • Sostituzione del database: se il database ripristinato è da intendersi come una sostituzione per il database originale, è necessario verificare che il livello di prestazioni e/o il livello di servizio sia appropriato e ridimensionare il database se necessario.Database replacement: If the restored database is intended as a replacement for the original database, you should verify the performance level and/or service tier are appropriate and scale the database if necessary. È possibile rinominare il database originale e quindi assegnare al database ripristinato il nome originale usando il comando ALTER DATABASE in T-SQL.You can rename the original database and then give the restored database the original name using the ALTER DATABASE command in T-SQL.
  • Ripristino dei dati: se si prevede di recuperare dati dal database ripristinato in caso di errore dell'applicazione o dell'utente, è necessario scrivere ed eseguire gli script di ripristino per estrarre i dati dal database ripristinato e inserirli nel database originale.Data recovery: If you plan to retrieve data from the restored database to recover from a user or application error, you need to write and execute the necessary data recovery scripts to extract data from the restored database 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, l'operazione verrà annullata e non verrà addebitata per il database il cui ripristino non è stato completato.If you delete the database during the restore, the restore operation is canceled and you are not charged for the database that did not complete the restore.

Portale di AzureAzure portal

Per eseguire il ripristino 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 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

Ripristino di un database eliminatoDeleted database restore

Il ripristino di un database eliminato consente di ripristinare un database all'ora di eliminazione per un database eliminato sullo stesso server logico, usando il portale di Azure, PowerShell o l'API REST (createMode=Restore).You can restore a deleted database to the deletion time for a deleted database on the same logical server using the Azure portal, PowerShell, or the REST (createMode=Restore).

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.

Portale di AzureAzure portal

Per ripristinare un database eliminato durante il periodo di conservazione 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 during its retention period 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

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 completi e differenziali con replica geografica.You can restore a SQL database on any server in any Azure region from the most recent geo-replicated full and differential backups. Il ripristino geografico usa un backup con ridondanza geografica come origine e può essere usato per ripristinare un database anche se il database o il data center è inaccessibile a causa di un'interruzione del servizio.Geo-restore uses a geo-redundant backup as its source and can be used to recover a database even if the database or datacenter is inaccessible due to an outage.

Il ripristino geografico è l'opzione di ripristino predefinita quando il database non è disponibile a causa di un evento imprevisto nell'area in cui è ospitato.Geo-restore is the default recovery option when your database is unavailable because of an incident in the region where the database is hosted. Se si verifica un evento imprevisto su larga scala che determina la mancata disponibilità dell'applicazione di database, è possibile ripristinare un database dai backup con replica geografica in un server in un'altra area.If a large-scale incident in a region results in unavailability of your database application, you can restore a database from the geo-replicated backups to a server in any other region. Esiste un ritardo tra il momento in cui un backup differenziale 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 differential backup is taken and when it is geo-replicated to an Azure blob in a different region. Questo ritardo può essere al massimo di un'ora, quindi, in caso di emergenza, può verificarsi una perdita massima di un'ora di dati.This delay can be up to an hour, so, if a disaster occurs, there can be up to one hour data loss. 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 da backup è la più semplice delle soluzioni di ripristino di emergenza disponibili nel database SQL con il massimo valore per l'obiettivo del punto di ripristino e il tempo di recupero stimato.Recovery from backups is the most basic of the disaster recovery solutions available in SQL Database with the longest Recovery Point Objective (RPO) and Estimate Recovery Time (ERT). Per soluzioni che usano i database Basic, il ripristino geografico è spesso una soluzione ragionevole di ripristino di emergenza con un ERT di 12 ore.For solutions using Basic databases, geo-restore is frequently a reasonable DR solution with an ERT of 12 hours. Per soluzioni che usano i database Standard o Premium di dimensioni maggiori, che richiedono tempi di ripristino inferiori, è consigliabile usare la replica geografica attiva.For solutions using larger Standard or Premium databases that require shorter recovery times, you should consider using active geo-replication. La replica geografica attiva offre un obiettivo del punto di ripristino e un tempo di recupero stimato decisamente inferiori perché richiede solo l'avvio di un failover in un database secondario con replica continua.Active geo-replication offers a much lower RPO and ERT as it only requires you initiate a failover to a continuously replicated secondary. 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.

Portale di AzureAzure portal

Per geo-ripristinare un database durante il periodo di conservazione tramite il portale di Azure, aprire la pagina Database SQL e quindi fare clic su Aggiungi.To geo-restore a database during its 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.

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

CmdletCmdlet DescrizioneDescription
Get-AzureRmSqlDatabaseGet-AzureRmSqlDatabase Ottiene uno o più database.Gets one or more databases.
Get-AzureRMSqlDeletedDatabaseBackupGet-AzureRMSqlDeletedDatabaseBackup Ottiene un database eliminato che è possibile ripristinare.Gets a deleted database that you can restore.
Get-AzureRmSqlDatabaseGeoBackupGet-AzureRmSqlDatabaseGeoBackup Ottiene una copia di backup con ridondanza geografica di un database.Gets a geo-redundant backup of a database.
Restore-AzureRmSqlDatabaseRestore-AzureRmSqlDatabase Ripristina un database SQL.Restores a SQL database.

API RESTREST 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

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 di prestazioni.This built-in capability is available for all service tiers and performance levels.

Passaggi successiviNext steps