Panoramica del ripristino e del recupero (SQL Server)Restore and Recovery Overview (SQL Server)

QUESTO ARGOMENTO SI APPLICA A:sìSQL Server (a partire dalla versione 2016)noDatabase SQL di AzurenoAzure SQL Data WarehousenoParallel Data WarehouseTHIS TOPIC APPLIES TO: yesSQL Server (starting with 2016)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Per recuperare un database di SQL ServerSQL Server in seguito a un errore, il relativo amministratore deve ripristinare un set di backup di SQL ServerSQL Server in una sequenza di ripristino significativa e logicamente corretta.To recover a SQL ServerSQL Server database from a failure, a database administrator has to restore a set of SQL ServerSQL Server backups in a logically correct and meaningful restore sequence. SQL ServerSQL Server supportano il ripristino di dati da backup di un intero database, di un file di dati o di una pagina di dati nelle modalità descritte di seguito: restore and recovery supports restoring data from backups of a whole database, a data file, or a data page, as follows:

Panoramica degli scenari di ripristino Overview of Restore Scenarios

Uno scenario di ripristino in SQL ServerSQL Server è il processo di ripristino dei dati da uno o più backup, seguito dal recupero del database.A restore scenario in SQL ServerSQL Server is the process of restoring data from one or more backups and then recovering the database. Gli scenari di ripristino supportati dipendono dal modello di recupero del database e dall'edizione di SQL ServerSQL Server.The supported restore scenarios depend on the recovery model of the database and the edition of SQL ServerSQL Server.

Nella tabella seguente vengono descritti i possibili scenari di ripristino supportati per modelli di recupero diversi.The following table introduces the possible restore scenarios that are supported for different recovery models.

scenario di ripristinoRestore scenario Nel modello di recupero con registrazione minimaUnder simple recovery model Nel modello di recupero con registrazione completa o con registrazione minima delle operazioni bulkUnder full/bulk-logged recovery models
ripristino di database completoComplete database restore Si tratta della strategia di ripristino standard.This is the basic restore strategy. Un ripristino di database completo può comportare semplicemente il ripristino e il recupero di un backup completo del database.A complete database restore might involve simply restoring and recovering a full database backup. In alternativa, tale tipo di ripristino può comportare il ripristino di un backup completo del database seguito dal ripristino e dal recupero di un backup differenziale.Alternatively, a complete database restore might involve restoring a full database backup followed by restoring and recovering a differential backup.

Per altre informazioni, vedere Ripristini di database completi (modello di recupero con registrazione minima).For more information, see Complete Database Restores (Simple Recovery Model).
Si tratta della strategia di ripristino standard.This is the basic restore strategy. Un ripristino di database completo comporta il ripristino di un backup completo del database e, facoltativamente, di un backup differenziale, se disponibile, seguito dal ripristino di tutti i successivi backup del log, in sequenza.A complete database restore involve restoring a full database backup and, optionally, a differential backup (if any), followed by restoring all subsequent log backups (in sequence). Il ripristino di database completo viene completato tramite il recupero dell'ultimo backup del log e il suo ripristino (RESTORE WITH RECOVERY).The complete database restore is finished by recovering the last log backup and also restoring it (RESTORE WITH RECOVERY).

Per altre informazioni, vedere Ripristini di database completi (modello di recupero con registrazione completa).For more information, see Complete Database Restores (Full Recovery Model)
File restore \*File restore \* Consente di ripristinare uno o più file di sola lettura danneggiati senza ripristinare l'intero database.Restore one or more damaged read-only files, without restoring the entire database. È disponibile solo se il database contiene almeno un filegroup di sola lettura.File restore is available only if the database has at least one read-only filegroup. Consente di ripristinare uno o più file, senza ripristinare l'intero database.Restores one or more files, without restoring the entire database. Può essere eseguito mentre il database è offline oppure, per alcune edizioni di SQL ServerSQL Server, mentre il database rimane online.File restore can be performed while the database is offline or, for some editions of SQL ServerSQL Server, while the database remains online. Durante un'operazione di ripristino del file, i filegroup che includono i file che vengono ripristinati sono sempre offline.During a file restore, the filegroups that contain the files that are being restored are always offline.
ripristino di paginaPage restore Non applicabileNot applicable Consente di ripristinare una o più pagine danneggiate.Restores one or more damaged pages. Può essere eseguito mentre il database è offline oppure, per alcune edizioni di SQL ServerSQL Server, mentre il database rimane online.Page restore can be performed while the database is offline or, for some editions of SQL ServerSQL Server, while the database remains online. Durante un'operazione di ripristino della pagina, le pagine che vengono ripristinate sono sempre offline.During a page restore, the pages that are being restored are always offline.

Perché la pagina sia aggiornata rispetto al file di log corrente, è necessario che sia disponibile una catena non interrotta di backup del log, fino al file di log corrente, e che i backup vengano tutti applicati.An unbroken chain of log backups must be available, up to the current log file, and they must all be applied to bring the page up to date with the current log file.

Per ulteriori informazioni, vedere Ripristino di pagine (SQL Server).For more information, see Restore Pages (SQL Server).
Ripristino a fasi \*Piecemeal restore \* Consente di ripristinare e recuperare il database in varie fasi a livello di filegroup, partendo dal filegroup primario e da tutti i filegroup secondari di lettura/scrittura.Restore and recover the database in stages at the filegroup level, starting with the primary and all read/write, secondary filegroups. Consente di ripristinare e recuperare il database in varie fasi a livello di filegroup, partendo dal filegroup primario.Restore and recover the database in stages at the filegroup level, starting with the primary filegroup.

\* Il ripristino in linea è supportato solo nell'Enterprise Edition.\* Online restore is supported only in the Enterprise edition.

Indipendentemente dalla modalità di ripristino dei dati, prima di poter recuperare un database, Motore di database di SQL ServerSQL Server Database Engine verifica che l'intero database sia logicamente consistente.Regardless of how data is restored, before a database can be recovered, the Motore di database di SQL ServerSQL Server Database Engine guarantees that the whole database is logically consistent. Se, ad esempio, si ripristina un file, non è possibile recuperarlo e attivare la modalità online finché non è stato eseguito un rollforward sufficiente a garantirne la coerenza con il database.For example, if you restore a file, you cannot recover it and bring it online until it has been rolled far enough forward to be consistent with the database.

Vantaggi di un ripristino del file o della paginaAdvantages of a File or Page Restore

Il ripristino e il recupero di file o pagine, anziché dell'intero database, offrono i vantaggi seguenti:Restoring and recovering files or pages, instead of the whole database, provides the following advantages:

  • Il ripristino di una quantità minore di dati consente di ridurre il tempo necessario per la copia e il recupero.Restoring less data reduces the time required to copy and recover it.

  • Se in SQL ServerSQL Server si esegue un'operazione di ripristino del file o della pagina, è possibile mantenere online altri dati del database durante l'operazione di ripristino.On SQL ServerSQL Server restoring files or pages might allow other data in the database to remain online during the restore operation.

Modelli di recupero e operazioni di ripristino supportate Recovery Models and Supported Restore Operations

Le operazioni di ripristino disponibili per un database variano in base al relativo modello di recupero.The restore operations that are available for a database depend on its recovery model. Nella tabella seguente vengono riepilogati i casi e la misura in cui ognuno dei modelli di recupero supporta uno scenario di ripristino specifico.The following table summarizes whether and to what extent each of the recovery models supports a given restore scenario.

Operazione di ripristinoRestore operation Modello di recupero con registrazione completaFull recovery model Modello di recupero con registrazione minima delle operazioni bulkBulk-logged recovery model Modello di recupero con registrazione minimaSimple recovery model
Recupero datiData recovery Recupero completo (se il log è disponibile).Complete recovery (if the log is available). Rischio parziale di perdita di dati.Some data-loss exposure. Tutti i dati successivi all'ultimo backup completo o differenziale vanno perduti.Any data since last full or differential backup is lost.
Ripristino temporizzatoPoint-in-time restore Qualsiasi periodo di tempo coperto dai backup del log.Any time covered by the log backups. Non consentito se il backup del log contiene modifiche con registrazione minima delle operazioni bulk.Disallowed if the log backup contains any bulk-logged changes. Non supportato.Not supported.
File restore \*File restore \* Supporto completo.Full support. In casi specifici.*\Sometimes.***** Disponibile solo per i file secondari di sola lettura.Available only for read-only secondary files.
Page restore \*Page restore \* Supporto completo.Full support. In casi specifici.*\Sometimes.***** nessuna.None.
Ripristino a fasi (a livello di filegroup) \*Piecemeal (filegroup-level) restore \* Supporto completo.Full support. In casi specifici.*\Sometimes.***** Disponibile solo per i file secondari di sola lettura.Available only for read-only secondary files.

\* Disponibile solo in SQL ServerSQL Server\* Available only in the Enterprise edition of SQL ServerSQL Server

*\* Per le condizioni necessarie, vedere la sezione relativa alle Restrizioni relative al ripristino in base al modello di recupero con registrazione minimapiù avanti in questo argomento.*\* For the required conditions, see Restore Restrictions Under the Simple Recovery Model, later in this topic.

Importante

Indipendentemente dal modello di recupero di un database, un backup di SQL ServerSQL Server non può essere ripristinato da una versione di SQL ServerSQL Server precedente a quella tramite cui è stato creato il backup.Regardless of the recovery model of a database, a SQL ServerSQL Server backup cannot be restored by a version of SQL ServerSQL Server that is older than the version that created the backup.

Scenari di ripristino nel modello di recupero con registrazione minima Restore Scenarios Under the Simple Recovery Model

Il modello di recupero con registrazione minima impone le restrizioni seguenti sulle operazioni di ripristino:The simple recovery model imposes the following restrictions on restore operations:

Importante

Indipendentemente dal modello di recupero di un database, un backup di SQL ServerSQL Server non può essere ripristinato da una versione di SQL ServerSQL Server precedente a quella tramite cui è stato creato il backup.Regardless of the recovery model of a database, a SQL ServerSQL Server backup cannot be restored by a version of SQL ServerSQL Server that is older than the version that created the backup.

Ripristino nel modello di recupero con registrazione minima delle operazioni bulk Restore Under the Bulk-Logged Recovery Model

In questa sezione vengono fornite informazioni sul ripristino proprie del modello di recupero con registrazione minima delle operazioni bulk da intendersi esclusivamente come integrazione del modello di recupero con registrazione completa.This section discusses restore considerations that are unique to bulk-logged recovery model, which is intended exclusively as a supplement to the full recovery model.

Nota

Per informazioni generali sul modello di recupero con registrazione minima delle operazioni bulk, vedere Log delle transazioni (SQL Server).For an introduction to the bulk-logged recovery model, see The Transaction Log (SQL Server).

In linea generale, il modello di recupero con registrazione minima delle operazioni bulk è simile al modello di recupero con registrazione completa e le informazioni fornite per quest'ultimo si applicano a entrambi.Generally, the bulk-logged recovery model is similar to the full recovery model, and the information described for the full recovery model also applies to both. Tuttavia, il recupero temporizzato e il ripristino in linea sono influenzati dal modello di recupero con registrazione minima delle operazioni bulk.However, point-in-time recovery and online restore are affected by the bulk-logged recovery model.

Restrizioni relative al recupero temporizzatoRestrictions for Point-in-time Recovery

Se un backup del log eseguito utilizzando il modello di recupero con registrazione minima delle operazioni bulk contiene modifiche con registrazione minima delle operazioni bulk, il recupero temporizzato non è consentito.If a log backup taken under the bulk-logged recovery model contains bulk-logged changes, point-in-time recovery is not allowed. Se si tenta di eseguire il recupero temporizzato in un backup del log che contiene modifiche con registrazione minima delle operazioni bulk, l'operazione di ripristino non verrà eseguita correttamente.Trying to perform point-in-time recovery on a log backup that contains bulk changes will cause the restore operation to fail.

Restrizioni relative al ripristino onlineRestrictions for Online Restore

Una sequenza di ripristino in linea funziona solo se vengono soddisfatte le condizioni seguenti:An online restore sequence works only if the following conditions are met:

  • Tutti i backup del log necessari devono essere eseguiti prima dell'avvio della sequenza di ripristino.All required log backups must have been taken before the restore sequence starts.

  • È necessario eseguire un backup delle modifiche bulk prima di avviare la sequenza del ripristino online.Bulk changes must be backed before starting the online restore sequence.

  • Se nel database sono presenti modifiche bulk, tutti i file devono essere online oinattivi.If bulk changes exist in the database, all files must be either online ordefunct. Questo significa che non è più parte del database.(This means that it is no longer part of the database.)

    Se queste condizioni non vengono soddisfatte, la sequenza del ripristino in linea non riesce.If these conditions are not met, the online restore sequence fails.

Nota

È consigliabile passare al modello di recupero con registrazione completa prima di avviare un ripristino online.We recommend switching to the full recovery model before starting an online restore. Per altre informazioni, vedere Modelli di recupero (SQL Server).For more information, see Recovery Models (SQL Server).

Per informazioni su come eseguire un ripristino online, vedere Ripristino in linea (SQL Server).For information about how to perform an online restore, see Online Restore (SQL Server).

Database Recovery Advisor (SQL Server Management Studio) Database Recovery Advisor (SQL Server Management Studio)

Tramite Database Recovery Advisor viene semplificata la costruzione di piani di ripristino mediante i quali vengono implementate ottime sequenze di ripristino corrette.The Database Recovery Advisor facilitates constructing restore plans that implement optimal correct restore sequences. Molti problemi noti di ripristino del database sono stati risolti e sono stati apportati molti miglioramenti richiesti dai clienti.Many known database restore issues and enhancements requested by customers have been addressed. Di seguito sono riportati i miglioramenti principali introdotti da Database Recovery Advisor:Major enhancements introduced by the Database Recovery Advisor include the following:

  • Algoritmo del piano di ripristino: l'algoritmo utilizzato per costruire i piani di ripristino è stato migliorato in modo significativo, in particolare per gli scenari di ripristino complessi.Restore-plan algorithm: The algorithm used to construct restore plans has improved significantly, particularly for complex restore scenarios. Molti casi limite, inclusi gli scenari di fork nei ripristini temporizzati, vengono gestititi in modo più efficiente rispetto alle versioni precedenti di SQL ServerSQL Server.Many edge cases, including forking scenarios in point-in-time restores, are handled more efficiently than in previous versions of SQL ServerSQL Server.

  • Ripristini temporizzati: tramite Database Recovery Advisor viene notevolmente semplificato il ripristino di un database in un determinato momento.Point-in-time restores: The Database Recovery Advisor greatly simplifies restoring a database to a given point in time. Tramite una cronologia di backup visiva viene migliorato in modo significativo il supporto per i ripristini temporizzati.A visual backup timeline significantly enhances support for point-in-time restores. Tramite questa cronologia visiva è possibile identificare un momento appropriato come punto di recupero di destinazione per il ripristino di un database.This visual timeline allows you to identify a feasible point in time as the target recovery point for restoring a database. Tramite la cronologia viene semplificato l'attraversamento di un percorso di recupero con fork, cioè un percorso che si estende su più fork di recupero.The timeline facilitates traversing a forked recovery path (a path that spans recovery forks). In un piano di ripristino temporizzato specificato sono inclusi automaticamente i backup rilevanti per il ripristino al punto nel tempo previsto (data e ora).A given point-in-time restore plan automatically includes the backups that are relevant to the restoring to your target point in time (date and time). Per altre informazioni, vedere Ripristino di un database di SQL Server fino a un punto specifico all'interno di un backup (modello di recupero con registrazione completa).For more information, see Restore a SQL Server Database to a Point in Time (Full Recovery Model).

    Per ulteriori informazioni su Database Recovery Advisor, vedere i seguenti blog relativi alla facilità di gestione di SQL ServerSQL Server :For more information, see about the Database Recovery Advisor, see the following SQL ServerSQL Server Manageability blogs:

  • Pagina relativa all'introduzione a Recovery AdvisorRecovery Advisor: An Introduction

  • Pagina relativa a Recovery Advisor in cui viene illustrato l'utilizzo di SSMS per creare/ripristinare backup divisiRecovery Advisor: Using SSMS to create/restore split backups

nessuna.None.

Vedere ancheSee Also

Panoramica del backup (SQL Server)Backup Overview (SQL Server)