Ripristino a fasi di database con tabelle con ottimizzazione per la memoriaPiecemeal Restore of Databases With Memory-Optimized Tables

Nei database con tabelle con ottimizzazione per la memoria è supportato il ripristino a fasi, tranne per la restrizione descritta di seguito.Piecemeal restore is supported on databases with memory-optimized tables except for one restriction described below. Per altre informazioni sul backup e sul ripristino a fasi, vedereRESTORE (Transact-SQL) e Ripristini a fasi (SQL Server).For more information about piecemeal backup and restore, see RESTORE (Transact-SQL) and Piecemeal Restores (SQL Server).

Il backup e ripristino di un filegroup con ottimizzazione per la memoria deve essere eseguito insieme al filegroup primario:A memory-optimized filegroup must be backed up and restored together with the primary filegroup:

  • Se si esegue il backup (o ripristino) del filegroup primario, è necessario specificare il filegroup con ottimizzazione per la memoria.If you back up (or restore) the primary filegroup you must specify the memory-optimized filegroup.

  • Se si esegue il backup (o ripristino) del filegroup con ottimizzazione per la memoria, è necessario specificare il filegroup primario.If you backup (or restore) the memory-optimized filegroup you must specify the primary filegroup.

    Di seguito sono riportati gli scenari principali per il backup e ripristino a fasi.Key scenarios for piecemeal backup and restore are,

  • Il backup a fasi consente di ridurre le dimensioni del backup.Piecemeal backup allows you to reduce the size of backup. Di seguito alcuni esempi:Some examples:

    • Configurare l'esecuzione del backup del database in ore o giorni diversi per ridurre l'impatto sul carico di lavoro.Configure the database backup to occur at different times or days to minimize the impact on the workload. Un esempio è rappresentato da un database di dimensioni molto estese (maggiore di 1 TB) in cui non è possibile completare un backup completo del database nel tempo allocato per la manutenzione del database.One example is a very large database (greater than 1 TB) where a full database backup cannot complete in the time allocated for database maintenance. In questo caso, è possibile utilizzare il backup a fasi per eseguire il backup completo del database in più backup a fasi.In that situation, you can use piecemeal backup to backup the full database in multiple piecemeal backups.

    • Se un filegroup è di sola lettura, non è necessario un backup del log delle transazioni dopo essere stato contrassegnato come di sola lettura.If a filegroup is marked read-only, it does not require a transaction log backup after it was marked read-only. È possibile scegliere di eseguire il backup del filegroup solo una volta dopo averlo contrassegnato come di sola lettura.You can choose to back up the filegroup only once after marking it read-only.

  • Ripristino a fasi.Piecemeal restore.

    • L'obiettivo di un ripristino a fasi è portare online le parti fondamentali del database, senza attendere tutti i dati.The goal of a piecemeal restore is to bring the critical parts of database online without waiting for all the data. Un esempio è il caso in cui i dati di un database sono partizionati, in modo che le partizioni meno recenti vengono utilizzate solo raramente.One example is if a database has partitioned data, such that older partitions are only used rarely. È possibile eseguirne il ripristino solo in base alle esigenze.You can restore them only on an as-needed basis. Lo stesso vale per i filegroup in cui sono contenuti, ad esempio, i dati cronologici.Similar for filegroups that contain, for example, historical data.

    • Con la correzione della pagina, è possibile correggere i danneggiamenti di pagina ripristinando in particolare la pagina.Using page repair, you can fix page corruption by specifically restoring the page. Per altre informazioni, vedere Ripristinare pagine (SQL Server).For more information, see Restore Pages (SQL Server).

EsempiSamples

Negli esempi viene utilizzato lo schema seguente:The examples use the following schema:

CREATE DATABASE imoltp  
ON PRIMARY (name = imoltp_primary1, filename = 'c:\data\imoltp_data1.mdf')  
LOG ON (name = imoltp_log, filename = 'c:\data\imoltp_log.ldf')  
GO  

ALTER DATABASE imoltp ADD FILE (name = imoltp_primary2, filename = 'c:\data\imoltp_data2.ndf')  
GO  

ALTER DATABASE imoltp ADD FILEGROUP imoltp_secondary  
ALTER DATABASE imoltp ADD FILE (name = imoltp_secondary, filename = 'c:\data\imoltp_secondary.ndf') TO FILEGROUP imoltp_secondary  
GO  

ALTER DATABASE imoltp ADD FILEGROUP imoltp_mod CONTAINS MEMORY_OPTIMIZED_DATA   
ALTER DATABASE imoltp ADD FILE (name='imoltp_mod1', filename='c:\data\imoltp_mod1') TO FILEGROUP imoltp_mod   
ALTER DATABASE imoltp ADD FILE (name='imoltp_mod2', filename='c:\data\imoltp_mod2') TO FILEGROUP imoltp_mod   
GO  

BackupBackup

In questo esempio viene illustrato come eseguire il backup del filegroup primario e di quello con ottimizzazione per la memoria.This sample shows how to backup the primary filegroup and the memory-optimized filegroup. È necessario specificare insieme sia il filegroup primario sia quello con ottimizzazione per la memoria.You must specify both primary and memory-optimized filegroup together.

backup database imoltp filegroup='primary', filegroup='imoltp_mod' to disk='c:\data\imoltp.dmp' with init  

Nell'esempio seguente viene illustrato che il funzionamento di un backup di filegroup diversi dai filegroup primari e con ottimizzazione per la memoria è simile ai database senza tabelle con ottimizzazione per la memoria.The following sample shows that a back up of filegroup(s) other than primary and memory-optimized filegroup works similar to the databases without memory-optimized tables. Tramite il comando riportato di seguito viene eseguito il backup del filegroup secondarioThe following command backups up the secondary filegroup

backup database imoltp filegroup='imoltp_secondary' to disk='c:\data\imoltp_secondary.dmp' with init  

RestoreRestore

Nell'esempio seguente viene illustrato come ripristinare insieme il filegroup primario e quello con ottimizzazione per la memoria.The following sample shows how to restore the primary filegroup and memory-optimized filegroup together.

restore database imoltp filegroup = 'primary', filegroup = 'imoltp_mod'   
from disk='c:\data\imoltp.dmp' with partial, norecovery  

--restore the transaction log  
 RESTORE LOG [imoltp] FROM DISK = N'c:\data\imoltp_log.dmp' WITH  FILE = 1,  NOUNLOAD,  STATS = 10  
GO  

Nell'esempio successivo viene illustrato che il funzionamento del ripristino di filegroup diversi dai filegroup primari e con ottimizzazione per la memoria è simile ai database senza tabelle con ottimizzazione per la memoria.The next sample shows that restoring filegroup(s) other than the primary and memory-optimized filegroup works similar to the databases without memory-optimized tables

RESTORE DATABASE [imoltp] FILE = N'imoltp_secondary'   
FROM  DISK = N'c:\data\imoltp_secondary.dmp' WITH  FILE = 1,  RECOVERY,  NOUNLOAD,  STATS = 10  
GO  

Vedere ancheSee Also

Eseguire il backup, ripristinare e recuperare tabelle con ottimizzazione per la memoriaBackup, Restore, and Recovery of Memory-Optimized Tables