Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come modificare il modello di ripristino di un database di SQL Server utilizzando T-SQL

SQL Server dispone di tre modelli di ripristino; semplice, completo e registrato in blocco. Ciascun database utilizza una di queste impostazioni.

Le operazioni di backup e ripristino avvengono nel contesto del modello di ripristino del database

È possibile modificare il modello di ripristino di un database utilizzando ALTER DATABASE istruzione insieme a SET RECOVERY opzione.

Le opzioni disponibili quando si utilizza ALTER DATABASE per impostare il modello di recupero sono:

  • SIMPLE
  • FULL
  • BULK_LOGGED

Avrai bisogno di ALTER autorizzazioni sul database per apportare tali modifiche.

Esempio

Supponiamo di avere un database chiamato PetHotel .

Possiamo verificare il suo attuale modello di ripristino eseguendo una query su sys.databases vista catalogo:

SELECT 
    name, 
    recovery_model_desc  
FROM sys.databases
WHERE name = 'PetHotel';

Risultato:

+----------+-----------------------+
| name     | recovery_model_desc   |
|----------+-----------------------|
| PetHotel | SIMPLE                |
+----------+-----------------------+

Il PetHotel il database attualmente utilizza il modello di ripristino semplice.

Passiamo al modello di recupero completo:

USE master;  
ALTER DATABASE PetHotel 
SET RECOVERY FULL;

Fatto.

Ora controlliamo il risultato:

SELECT 
    name, 
    recovery_model_desc  
FROM sys.databases
WHERE name = 'PetHotel';

Risultato:

+----------+-----------------------+
| name     | recovery_model_desc   |
|----------+-----------------------|
| PetHotel | FULL                  |
+----------+-----------------------+

Il modello di ripristino è stato modificato correttamente come specificato.

Considerazioni importanti

Quando si passa dalla modalità di ripristino semplice a una delle altre, il passaggio ha effetto solo dopo il primo backup dei dati.

Pertanto, non appena si passa dalla modalità di ripristino semplice al modello di ripristino con registrazione completa o in blocco, è necessario eseguire un backup del database completo o differenziale per avviare la catena di log.

Se passi da a il modello di ripristino semplice, quindi assicurati di disabilitare tutti i processi pianificati per il backup del registro delle transazioni (il modello di ripristino semplice non utilizza i backup del registro).

Inoltre, il modello di recupero in blocco è specifico per le operazioni in blocco. Se a questo scopo passi dal modello di ripristino completo al modello di registrazione in blocco, dovresti tornare alla modalità di ripristino completo dopo aver eseguito le operazioni in blocco.

Dopo essere passati dal modello di ripristino con registrazione in blocco al modello di ripristino completo, assicurati di eseguire il backup del registro.

Consulta i modelli di ripristino sul sito Web Microsoft per una panoramica di ciascun modello di ripristino.