Backup in base al modello di recupero con registrazione minima delle operazioni bulk

Le informazioni contenute in questo argomento sono rilevanti per l'ottimizzazione delle operazioni bulk eseguite sui database di SQL Server che normalmente utilizzano il modello di recupero con registrazione completa.

Il modello di recupero con registrazione minima delle operazioni bulk è un modello di recupero per scopi specifici che è consigliabile utilizzare solo saltuariamente per migliorare le prestazioni di determinate operazioni bulk su larga scala, ad esempio le importazioni bulk di grandi quantità di dati. La descrizione del backup in base al modello di recupero con registrazione completa è in gran parte valida anche per il modello di recupero con registrazione minima delle operazioni bulk. In questo argomento vengono esaminate solo le considerazioni specifiche per il modello di recupero con registrazione minima delle operazioni bulk.

[!NOTA]

Per informazioni sulle operazioni che vengono registrate nel log delle operazioni bulk in base al modello di recupero con registrazione minima delle operazioni bulk, vedere Operazioni per cui è possibile eseguire la registrazione minima.

È consigliabile limitare al minimo l'utilizzo del modello di recupero con registrazione minima delle operazioni bulk. La procedura consigliata prevede il passaggio al modello di recupero con registrazione minima delle operazioni bulk appena prima dell'inizio di un set di operazioni bulk, l'esecuzione delle operazioni e quindi la reimpostazione immediata del modello di recupero con registrazione completa. Per ulteriori informazioni, vedere Considerazioni sul passaggio dal modello di recupero con registrazione completa o con registrazione minima delle operazioni bulk.

Funzionamento del modello di recupero con registrazione minima delle operazioni bulk

Rispetto al modello di recupero con registrazione completa, in base a cui tutte le transazioni vengono registrate completamente, il modello di recupero con registrazione minima delle operazioni bulk prevede una registrazione minima delle operazioni bulk e una registrazione completa delle altre transazioni. Il modello di recupero con registrazione minima delle operazioni bulk garantisce una protezione adeguata dagli errori dei supporti e, nel caso delle operazioni bulk, assicura le migliori prestazioni e la miglior economia di spazio di log.

Il modello di recupero con registrazione minima delle operazioni bulk, tuttavia, comporta un aumento del rischio di perdita dei dati per le operazioni di copia bulk, perché la registrazione minima delle operazioni bulk esclude la possibilità di riprodurre le modifiche a livello delle singole transazioni. Se un backup del log include operazioni con registrazione minima delle operazioni bulk, non è possibile eseguire un recupero temporizzato all'interno di tale backup ed è possibile solo ripristinare l'intero backup del log.

In base al modello di recupero con registrazione minima delle operazioni bulk, se un backup del log include operazioni bulk, conterrà sia i record del log sia le pagine di dati che hanno subito modifiche a causa delle operazioni bulk, per consentire di acquisire i risultati delle operazioni con registrazione minima delle operazioni bulk. Gli extent di dati incorporati possono causare un notevole aumento delle dimensioni di un backup del log. Il backup del log richiede inoltre l'accesso ai file di dati che includono le operazioni bulk registrate. Se un file di database interessato non è accessibile, non è possibile eseguire il backup del log delle transazioni e tutte le operazioni di cui è stato eseguito il commit in tale log vengono perse.

Per tenere traccia delle pagine di dati, un'operazione di backup del log si basa su una pagina della mappa di bit delle modifiche di copia bulk contenente un bit per ogni extent. Per ogni extent aggiornato da un'operazione con registrazione minima delle operazioni bulk dal backup del log più recente, il bit viene impostato su 1 nella mappa di bit. Gli extent di dati vengono copiati nel log, seguiti dai dati del log. Nella figura seguente viene illustrata la creazione di un backup del log.

La mappa di bit delle modifiche bulk identifica gli extent modificati

Nota importanteImportante

In base al modello di recupero con registrazione completa o con registrazione minima delle operazioni bulk, fino al primo backup completo, i checkpoint automatici troncano la parte inutilizzata del log delle transazioni, a meno che i record del log non siano mantenuti attivi da altri fattori. Dopo il primo backup completo, l'operazione di troncamento richiede il backup del log delle transazioni. Per informazioni su altri fattori che possono ritardare il troncamento, vedere Fattori che possono ritardare il troncamento del log..

Restrizioni sul backup in base al modello di recupero con registrazione minima delle operazioni bulk

Il modello di recupero con registrazione minima delle operazioni bulk prevede le restrizioni sul backup seguenti:

  • Se un filegroup contenente modifiche con registrazione minima delle operazioni bulk diventa di sola lettura prima dell'esecuzione di un backup del log, tutti i backup del log successivi conterranno gli extent modificati dalle operazioni con registrazione minima delle operazioni bulk fino a quando il filegroup rimarrà di sola lettura. Questi backup del log sono di dimensioni maggiori e richiedono più tempo rispetto al modello di recupero con registrazione completa.

    Per evitare che si verifichi questa situazione, prima di impostare l'autorizzazione di sola lettura per il filegroup, passare al modello di recupero con registrazione completa del database ed eseguire il backup del log. Successivamente, rendere il filegroup di sola lettura.

  • Se dall'ultimo backup del log sono state eseguite operazioni bulk, il database contiene modifiche bulk. In questo caso, è necessario che tutti i file siano in linea oppure inattivi quando si eseguono i backup del log. Questo perché per eseguire il backup di un log contenente operazioni con registrazione minima delle operazioni bulk è necessario l'accesso ai file di dati contenenti le operazioni bulk registrate.

Per informazioni sulle restrizioni relative alle operazioni di ripristino, vedere Ripristino nel modello di recupero con registrazione minima delle operazioni bulk.

Impostazione dell'autorizzazione di sola lettura per un database dopo l'esecuzione di operazioni bulk registrate

In base al modello di recupero con registrazione minima delle operazioni bulk, i backup del log funzionano correttamente quando un database include modifiche con registrazione minima delle operazioni bulk. Se, tuttavia, un database di lettura/scrittura diventa di sola lettura dopo un'operazione registrata nel log delle operazioni bulk, i backup del log successivi potrebbero acquisire più dati del necessario. Questo perché il file di dati non può essere aggiornato per tenere traccia degli extent di dati modificati da un'operazione con registrazione minima delle operazioni bulk. Tutti i backup del log successivi includono le stesse informazioni.

Procedura consigliata Prima di impostare l'autorizzazione di sola lettura per il database, passare al modello di recupero con registrazione completa ed eseguire il backup del log. Impostare quindi l'accesso in sola lettura per il database. In pratica, l'esecuzione di backup del log per un database di sola lettura non ha senso. Eseguire invece un backup completo del database o un set completo di backup del file dopo che il database è diventato di sola lettura. Per informazioni sulla modifica del modello di recupero, vedere Considerazioni sul passaggio dal modello di recupero con registrazione completa o con registrazione minima delle operazioni bulk.

[!NOTA]

Per informazioni sul backup di un database di sola lettura, vedere Esecuzione di backup di database di sola lettura.

Ripristino di backup in base al modello di recupero con registrazione minima delle operazioni bulk

Per informazioni sul ripristino di backup di un database che utilizza il modello di recupero con registrazione minima delle operazioni bulk, vedere Ripristino nel modello di recupero con registrazione minima delle operazioni bulk.