Visualizzazione o modifica del modello di recupero di un database (SQL Server)View or Change the Recovery Model of a Database (SQL Server)

QUESTO ARGOMENTO SI APPLICA A:sìSQL Server (a partire dalla versione 2016)noDatabase SQL di AzurenoAzure SQL Data WarehousenoParallel Data WarehouseTHIS TOPIC APPLIES TO: yesSQL Server (starting with 2016)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Questo argomento illustra come visualizzare o modificare il database usando SQL Server Management StudioSQL Server Management Studio o Transact-SQLTransact-SQL.This topic describes how to view or change the database by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-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.A recovery model is a database property that controls how transactions are logged, whether the transaction log requires (and allows) backing up, and what kinds of restore operations are available. Sono tre i modelli di recupero disponibili: con registrazione minima, con registrazione completa e con registrazione minima delle operazioni bulk.Three recovery models exist: simple, full, and bulk-logged. In genere, un database utilizza il modello di recupero con registrazione completa o con registrazione minima.Typically, a database uses the full recovery model or simple recovery model. In un database è possibile passare a un modello di recupero diverso in qualsiasi momento.A database can be switched to another recovery model at any time. Il database modello imposta il modello di recupero predefinito dei nuovi database.The model database sets the default recovery model of new databases.

Per una spiegazione più dettagliata dei modelli di recupero, vedere SQL Server Recovery Models (Modelli di recupero di SQL Server) a cura degli esperti di MSSQLTips!For a more in depth explanation of recovery models, see SQL Server Recovery Models provided by the folks at MSSQLTips!

Operazioni preliminari Before you begin

  • Back up the transaction log before switching from the full recovery or bulk-logged recovery model.Back up the transaction log before switching from the full recovery or bulk-logged recovery model.

  • Il recupero temporizzato non è possibile con il modello di recupero con registrazione minima delle operazioni bulk.Point-in-time recovery is not possible with bulk-logged model. 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.Running transactions under the bulk-logged recovery model that require a transaction log restore can exposed them to data loss. 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:To maximize data recoverability in a disaster-recovery scenario, switch to the bulk-logged recovery model only under the following conditions:

    • Agli utenti non è attualmente consentito l'accesso al database.Users are currently not allowed in the 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.All modifications made during bulk processing are recoverable without depending on taking a log backup; for example, by re-running the bulk processes.

      Se queste due condizioni sono soddisfatte, l'utente non sarà 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.If you satisfy these two conditions, you will not be exposed to any data loss while restoring a transaction log that was backed up under the bulk-logged recovery model..

Nota.Note! 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.If you switch to the full recovery model during a bulk operation, bulk operations logging changes from minimal logging to full logging, and vice versa.

Autorizzazioni necessarie Required permissions

È richiesta l'autorizzazione ALTER per il database.Requires ALTER permission on the database.

Utilizzo di SQL Server Management Studio Using SQL Server Management Studio

Per visualizzare o modificare il modello di recuperoTo view or change the recovery model

  1. Dopo aver effettuato la connessione all'istanza appropriata del Motore di database di SQL ServerSQL Server Database Engine, in Esplora oggetti fare clic sul nome del server per espanderne l'albero.After connecting to the appropriate instance of the Motore di database di SQL ServerSQL Server Database Engine, in Object Explorer, click the server name to expand the server tree.

  2. Espandere Databasee, a seconda del database, selezionare un database utente o espandere Database di sistema e selezionare un database di sistema.Expand Databases, and, depending on the database, either select a user database or expand System Databases and select a system database.

  3. Fare clic con il pulsante destro del mouse sul database e quindi scegliere Proprietàper visualizzare la finestra di dialogo Proprietà database .Right-click the database, and then click Properties, which opens the Database Properties dialog box.

  4. Nel riquadro Selezione pagina fare clic su Opzioni.In the Select a page pane, click Options.

  5. Il modello di recupero attualmente implementato è visualizzato nella casella di riepilogo Modello di recupero .The current recovery model is displayed in the Recovery model list box.

  6. Se desiderato, è possibile modificare il modello di recupero selezionandone uno differente nell'elenco.Optionally, to change the recovery model select a different model list. Le scelte possibili sono Con registrazione completa, Con registrazione minima delle operazioni bulke Con registrazione minima.The choices are Full, Bulk-logged, or Simple.

  7. Fare clic su OK.Click OK.

Utilizzo di Transact-SQL Using Transact-SQL

Per visualizzare il modello di recuperoTo view the recovery model

  1. Connettersi al Motore di databaseDatabase Engine.Connect to the Motore di databaseDatabase Engine.

  2. Dalla barra Standard fare clic su Nuova query.From the Standard bar, click New Query.

  3. Copiare e incollare l'esempio seguente nella finestra Query, quindi fare clic su Esegui.Copy and paste the following example into the query window and click Execute. In questo esempio viene mostrato come eseguire una query sulla vista del catalogo sys.databases per individuare il modello di recupero del database model .This example shows how to query the sys.databases catalog view to learn the recovery model of the model database.

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

Per modificare il modello di recuperoTo change the recovery model

  1. Connettersi al Motore di databaseDatabase Engine.Connect to the Motore di databaseDatabase Engine.

  2. Dalla barra Standard fare clic su Nuova query.From the Standard bar, click New Query.

  3. Copiare e incollare l'esempio seguente nella finestra Query, quindi fare clic su Esegui.Copy and paste the following example into the query window and click Execute. 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 .This example shows how to change the recovery model in the model database to FULL by using the SET RECOVERY option of the ALTER DATABASE statement.

USE master ;  
ALTER DATABASE model SET RECOVERY FULL ;  

Indicazioni: dopo la modifica del modello di recupero Recommendations: After you change the recovery model

  • Dopo il passaggio tra i modelli di recupero con registrazione completa e con registrazione minima delle operazioni bulkAfter switching between the full and bulk-logged recovery models

    • Dopo il completamento delle operazioni bulk, tornare immediatamente alla modalità di recupero con registrazione completa.After completing the bulk operations, immediately switch back to full recovery mode.

    • 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.After switching from the bulk-logged recovery model back to the full recovery model, back up the log.

      NOTA: la strategia di backup rimane invariata, cioè continua l'esecuzione di backup del database, del log e differenziali periodici.NOTE: Your backup strategy remains the same: continue performing periodic database, log, and differential backups.

  • Dopo il passaggio dal modello di recupero con registrazione minimaAfter switching from the simple recovery model

    • 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.Immediately after switching to the full recovery model or bulk-logged recovery model, take a full or differential database backup to start the log chain.

      NOTA: 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.NOTE: The switch to the full or bulk-logged recovery model takes effect only after the first data backup.

    • Pianificare backup regolari dei log e aggiornare il piano di ripristino di conseguenza.Schedule regular log backups, and update your restore plan accordingly.

      IMPORTANTEIMPORTANT!!!! Eseguire il backup dei log.Back up your logs!! 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.If you do not back up the log frequently enough, the transaction log can expand until it runs out of disk space!

  • Dopo il passaggio al modello di recupero con registrazione minimaAfter switching to the simple recovery model

    • Interrompere tutti i processi pianificati per l'esecuzione del backup del log delle transazioni.Discontinue any scheduled jobs for backing up the transaction log.

    • Verificare la pianificazione di backup di database periodici.Ensure periodic database backups are scheduled. Il backup del database è essenziale sia per proteggere i dati sia per troncare la porzione inattiva del log delle transazioni.Backing up your database is essential both to protect your data and to truncate the inactive portion of the transaction log.

Vedere ancheSee Also

Modelli di recupero (SQL Server) Recovery Models (SQL Server)
Log delle transazioni (SQL Server) The Transaction Log (SQL Server)
ALTER DATABASE (Transact-SQL) ALTER DATABASE (Transact-SQL)
sys.databases (Transact-SQL) sys.databases (Transact-SQL)
Modelli di recupero (SQL Server) Recovery Models (SQL Server)