Condividi tramite


Riduzione dei tempi di recupero durante il ripristino di un database

Icona con disco di database blu Le informazioni contenute in questo argomento sono rilevanti solo per i database in cui viene utilizzato il modello di recupero con registrazione completa o con registrazione minima delle transazioni di massa.

L'utilizzo congiunto di backup del database, backup differenziale del database e backup del log delle transazioni consente di ridurre il tempo necessario per il ripristino di un database allo stato in cui si trovava in qualsiasi istante successivo alla creazione del backup di database precedente. La creazione di backup differenziali del database e di backup del log delle transazioni consente di rendere più sicuro un backup, nel caso in cui un backup del log delle transazioni o un backup differenziale del database non possa essere utilizzato, ad esempio per un errore del supporto.

Le procedure tipiche di backup del database, di backup differenziali del database e di backup del log delle transazioni creano backup del database a intervalli più lunghi, backup differenziali del database a intervalli medi e backup del log delle transazioni a intervalli più brevi. In genere, è ad esempio opportuno creare backup di database con frequenza settimanale, backup differenziali del database una o due volte al giorno e backup del log delle transazioni ogni dieci minuti.

Recupero di un database fino al momento dell'errore

Per recuperare un database fino al momento dell'errore, eseguire le operazioni seguenti:

  1. Eseguire il backup del log delle transazioni attivo (parte finale del log). Si noti che, se il log delle transazioni è stato danneggiato, questa operazione avrà esito negativo.
  2. Ripristinare il backup completo del database più recente.
  3. Ripristinare il backup differenziale del database più recente creato dopo il backup completo del database.
  4. Applicare in sequenza tutti i backup del log delle transazioni creati dopo il più recente backup differenziale, terminando con il backup della parte finale del log creato nel passaggio 1.

[!NOTA] Se non è possibile eseguire il backup della parte finale del log, sarà possibile ripristinare il database solo fino al momento del normale backup del log. Le modifiche apportate al database dopo tale backup del log andranno perdute.

Quando, per il ripristino di un database nello stato in cui si trovava al momento dell'errore, si utilizzano sia il backup differenziale del database che i backup del log delle transazioni, il tempo necessario per tale operazione è minore, in quanto è sufficiente applicare i backup del log delle transazioni creati dopo l'ultimo backup differenziale del database. Se non è stato creato un backup differenziale del database, sarà necessario applicare tutti i backup del log delle transazioni creati dopo l'ultimo backup dell'intero database.

Esempi

Utilizzo combinato del backup differenziale del database e dei backup dei log delle transazioni

Nell'esempio seguente viene illustrato un sistema di database critico per le strategie aziendali per il quale è necessaria la creazione di un backup completo del database ogni notte a mezzanotte, di un backup differenziale del database ogni ora da lunedì a sabato e di backup del log delle transazioni ogni dieci minuti per tutto il giorno. Per ripristinare lo stato in cui si trovava il database alle 05.19 di mercoledì, eseguire le operazioni seguenti:

  1. Ripristinare il backup completo del database creato martedì a mezzanotte.
  2. Ripristinare il backup differenziale del database creato alle 05.00 di mercoledì.
  3. Applicare il backup del log delle transazioni creato alle 05.10 di mercoledì.
  4. Applicare il backup del log delle transazioni creato alle 05.20 di mercoledì, specificando l'applicazione delle sole transazioni avvenute prima delle 05.19.

In alternativa, se è necessario ripristinare lo stato del database alle 03.04 di giovedì, ma il backup differenziale del database creato alle 03.00 di giovedì non è disponibile, eseguire le operazioni seguenti:

  1. Ripristinare il backup del database creato mercoledì a mezzanotte.
  2. Ripristinare il backup differenziale del database creato alle 02.00 di giovedì.
  3. Applicare tutti i backup del log delle transazioni creati dalle 02.10 alle 03.00 di giovedì.
  4. Applicare il backup del log delle transazioni creato alle 03.10 di giovedì, interrompendo il processo di recupero alle 03.04.

Creazione di backup

Per creare un backup del database

Per creare un backup differenziale del database

Per creare un backup del log delle transazioni

Per creare un backup del log delle transazioni attivo

Per creare un backup utilizzando SMO (SQL Server Management Objects)

  • SqlBackup

Ripristino dei backup

Per ripristinare un backup del database

Per ripristinare un backup differenziale del database

Per applicare un backup del log delle transazioni

Per ripristinare un backup utilizzando SMO (SQL Server Management Objects)

Vedere anche

Concetti

Ottimizzazione delle prestazioni di backup e ripristino in SQL Server
Informazioni sulle prestazioni di recupero in SQL Server
Utilizzo dei backup del log delle transazioni

Altre risorse

BACKUP (Transact-SQL)
RESTORE (Transact-SQL)

Guida in linea e informazioni

Assistenza su SQL Server 2005