Visualizzazione o modifica del modello di recupero di un database (SQL Server)

Si applica a: SQL Server

Questo articolo descrive come visualizzare o modificare il modello di recupero del database usando SQL Server Management Studio o Transact-SQL.

Un modello di recupero è una proprietà del database che determina la modalità di registrazione delle transazioni, se è necessario e possibile eseguire il backup del log delle transazioni e quali tipi di operazioni di ripristino sono disponibili. Sono tre i modelli di recupero disponibili: registrazione minima, registrazione completa e registrazione delle operazioni bulk.. In genere, un database utilizza il modello di recupero con registrazione completa o con registrazione minima. In un database è possibile passare a un modello di recupero diverso in qualsiasi momento. Il database model imposta il modello di recupero predefinito dei nuovi database.

Per una spiegazione più approfondita, vedere modelli di recupero.

Operazioni preliminari

  • Eseguire il backup del log delle transazioni prima di lasciare il modello di recupero con registrazione completa o con registrazione minima delle operazioni bulk.

  • Il recupero temporizzato non è possibile con il modello di recupero con registrazione minima delle operazioni bulk. L'esecuzione di transazioni nel modello di recupero con registrazione minima delle operazioni bulk che richiedono il ripristino di un log delle transazioni potrebbe esporle alla perdita di dati. Per ottimizzare la recuperabilità in uno scenario di recupero di emergenza, passare al modello di recupero con registrazione minima delle operazioni bulk esclusivamente nelle condizioni seguenti:

    • Agli utenti non è attualmente consentito l'accesso al database.

    • Tutte le modifiche effettuate durante l'elaborazione bulk possano essere recuperate senza dipendere da un backup del log, ad esempio ripetendo i processi bulk.

      Se queste due condizioni sono soddisfatte, l'utente non è esposto ad alcuna perdita di dati durante il ripristino di un log delle transazioni di cui è stato eseguito il backup nel modello di recupero con registrazione minima delle operazioni bulk.

    Se si passa al modello di recupero con registrazione completa durante un'operazione in blocco, la registrazione dell'operazione in blocco cambia da registrazione minima a completa, e viceversa.

Autorizzazioni

È richiesta l'autorizzazione ALTER per il database.

Usare SQL Server Management Studio

  1. Dopo aver stabilito la connessione all'istanza appropriata del motore di database SQL Server, in Esplora oggetti selezionare il nome del server per espanderne l'albero.

  2. Espandere Databasee, a seconda del database, selezionare un database utente o espandere Database di sistema e selezionare un database di sistema.

  3. Fare clic con il pulsante destro del mouse sul database e quindi scegliere Proprietà per visualizzare la finestra di dialogo Proprietà database.

  4. Nel riquadro Seleziona una pagina, selezionare Opzioni.

  5. Il modello di recupero attualmente implementato è visualizzato nella casella di riepilogo Modello di recupero.

  6. Se desiderato, è possibile modificare il modello di recupero selezionandone uno differente nell'elenco. Le scelte possibili sono Con registrazione completa, Con registrazione minima delle operazioni bulke Con registrazione minima.

  7. Seleziona OK.

Nota

Le voci della cache dei piani del database verranno scaricate o cancellate.

Usare Transact-SQL

Visualizzare il modello di recupero

  1. Connettersi al motore di database di.

  2. Nella barra Standard selezionare Nuova query.

  3. Copiare e incollare l'esempio seguente nella finestra di query e selezionare Esegui. Questo esempio mostra come eseguire una query sulla vista del catalogo sys.databases per conoscere il modello di recupero del database model.

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

Modificare il modello di recupero

  1. Connettersi al motore di database di.

  2. Nella barra Standard selezionare Nuova query.

  3. Copiare e incollare l'esempio seguente nella finestra di query e selezionare Esegui. In questo esempio viene mostrato come impostare il modello di recupero nel database model su FULL utilizzando l'opzione SET RECOVERY dell'istruzione ALTER DATABASE.

USE [master];
GO
ALTER DATABASE [model]
SET RECOVERY FULL;
GO

Nota

Le voci della cache dei piani del database verranno scaricate o cancellate.

Indicazioni: dopo la modifica del modello di recupero

Dopo il passaggio tra i modelli di recupero con registrazione completa e con registrazione minima delle operazioni bulk

  • Dopo il completamento delle operazioni bulk, tornare immediatamente alla modalità di recupero con registrazione completa.

  • Dopo il passaggio dal modello di recupero con registrazione minima delle operazioni bulk al modello di recupero con registrazione completa, eseguire il backup del log.

La strategia di backup rimane invariata, cioè continua l'esecuzione di backup del database, del log e differenziali periodici.

Dopo il passaggio dal modello di recupero con registrazione minima

  • Immediatamente dopo il passaggio al modello di recupero con registrazione completa o con registrazione minima delle operazioni bulk, eseguire un backup di database completo o differenziale per avviare la catena di log.

    Il passaggio al modello di recupero con registrazione completa o con registrazione minima delle operazioni bulk ha effetto solo dopo il primo backup dei dati.

  • Pianificare backup regolari dei log e aggiornare il piano di ripristino di conseguenza.

    Importante

    Eseguire il backup dei log. Se non si esegue il backup del log con la necessaria frequenza, il log delle transazioni può espandersi fino a esaurire lo spazio su disco.

Dopo il passaggio al modello di recupero con registrazione minima

  • Interrompere tutti i processi pianificati per l'esecuzione del backup del log delle transazioni.

  • Verificare la pianificazione di backup di database periodici. Il backup del database è essenziale sia per proteggere i dati sia per troncare la porzione inattiva del log delle transazioni.