Backup di un log delle transazioni (SQL Server)Back Up a Transaction Log (SQL Server)

In questo argomento viene descritto come eseguire il backup di un log delle transazioni in SQL Server 2017SQL Server 2017 tramite SQL Server Management StudioSQL Server Management Studio, Transact-SQLTransact-SQLo PowerShell.This topic describes how to back up a transaction log in SQL Server 2017SQL Server 2017 by using SQL Server Management StudioSQL Server Management Studio, Transact-SQLTransact-SQL, or PowerShell.

Limitazioni e restrizioni Limitations and restrictions

  • Non è possibile usare l'istruzione BACKUP in una transazione esplicita o implicita .The BACKUP statement is not allowed in an explicit or implicit transaction. Per transazione esplicita si intende una transazione di cui vengono definiti in modo esplicito l'inizio e la fine.An explicit transaction is one in which you explicitly define both the start and end of the transaction.

Indicazioni Recommendations

  • Se un database usa il modello di recupero con registrazione completa o il modello di recupero con registrazione minima delle operazioni bulk, è necessario eseguire il backup del log delle transazioni con una frequenza sufficiente per garantire la protezione dei dati e per evitare il riempimento del log delle transazioni stesso.If a database uses either the full or bulk-logged recovery model, you must back up the transaction log regularly enough to protect your data, and to prevent the transaction log from filling. Tronca il log e supporta il ripristino del database in corrispondenza di uno specifico punto nel tempo.This truncates the log and supports restoring the database to a specific point in time.

  • Per impostazione predefinita, per ogni operazione di backup eseguita in modo corretto viene aggiunta una voce al log degli errori di SQL ServerSQL Server e al registro eventi di sistema.By default, every successful backup operation adds an entry in the SQL ServerSQL Server error log and in the system event log. Se il backup del log viene eseguito di frequente, questi messaggi possono aumentare rapidamente, provocando la creazione di log degli errori di dimensioni elevate e rendendo difficile l'individuazione di altri messaggi.If you back up the log frequently, these success messages accumulate quickly, resulting in huge error logs, making finding other messages difficult. In questo caso è possibile eliminare tali voci di log di backup usando il flag di traccia 3226 se nessuno degli script dipende da esse.In such cases you can suppress these log entries by using trace flag 3226, if none of your scripts depend on those entries. Per altre informazioni, vedere Flag di traccia (Transact-SQL).For more information, see Trace Flags (Transact-SQL).

Autorizzazioni Permissions

Controllare che le autorizzazioni siano corrette prima di iniziare.Check for the correct permissions before you begin!

Le autorizzazioni BACKUP DATABASE e BACKUP LOG vengono assegnate per impostazione predefinita ai membri del ruolo predefinito del server sysadmin e dei ruoli predefiniti del database db_owner e db_backupoperator .The BACKUP DATABASE and BACKUP LOG permissions needed are granted by default to members of the sysadmin fixed server role, and the db_owner and db_backupoperator fixed database roles.

Eventuali problemi correlati alla proprietà e alle autorizzazioni sul file fisico del dispositivo di backup possono interferire con l'operazione di backup.Ownership and permission problems on the backup device's physical file can interfere with a backup operation. SQL ServerSQL Server sia possibile leggere e scrivere sul dispositivo e che l'account utilizzato per eseguire il servizio SQL ServerSQL Server disponga delle autorizzazioni di scrittura. service runs must have write permissions. Le autorizzazioni di accesso ai file, tuttavia, non vengono controllate dalla stored procedure sp_addumpdevice, che aggiunge una voce per un dispositivo di backup nelle tabelle di sistema.However, sp_addumpdevice, which adds an entry for a backup device in the system tables, does not check file access permissions. I problemi relativi alle autorizzazioni del file fisico del dispositivo di backup potrebbero emergere solo in fase di accesso alla risorsa fisica quando si prova a eseguire il backup o il ripristino.Permissions problems on the backup device's physical file may not become obvious to you until you attemt to access the physical resource when you try to backup or restore. Anche in questo caso, controllare le autorizzazioni prima di iniziare.So again, check permissions before you begin!

Eseguire il backup usando SSMSBack up using SSMS

  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, scegliere Attivitàe quindi fare clic su Back Up.Right-click the database, point to Tasks, and then click Back Up. Verrà visualizzata la finestra di dialogo Backup database .The Back Up Database dialog box appears.

  4. Verificare il nome del database nella casella di riepilogo Database .In the Database list box, verify the database name. È possibile selezionare facoltativamente un database diverso nell'elenco.You can optionally select a different database from the list.

  5. Verificare che il modello di recupero sia impostato su FULL o BULK_LOGGED.Verify that the recovery model is either FULL or BULK_LOGGED.

  6. Nella casella di riepilogo Tipo backup selezionare Log delle transazioni.In the Backup type list box, select Transaction Log.

  7. Facoltativamente, è possibile selezionare Backup di sola copia per creare un backup di sola copia.Optionally, you can select Copy Only Backup to create a copy-only backup. Un backup di sola copia è un backup di SQL ServerSQL Server indipendente dalla sequenza di backup convenzionali di SQL ServerSQL Server.A copy-only backup is a SQL ServerSQL Server backup that is independent of the sequence of conventional SQL ServerSQL Server backups. Per altre informazioni, vedere Backup di sola copia (SQL Server).For more information, see Copy-Only Backups (SQL Server).

    ** NOTA** Quando si seleziona l'opzione Differenziale, non è possibile creare un backup di sola copia.** NOTE!** When the Differential option is selected, you cannot create a copy-only backup.

  8. Accettare il nome predefinito del set di backup indicato nella casella di testo Nome oppure immettere un nome diverso per il set di backup.Either accept the default backup set name suggested in the Name text box, or enter a different name for the backup set.

  9. Facoltativamente, immettere una descrizione del set di backup nella casella di testo Descrizione .Optionally, in the Description text box, enter a description of the backup set.

  10. Specificare la scadenza del set di backup:Specify when the backup set will expire:

    • Per impostare la scadenza del set di backup dopo un numero di giorni specifico, fare clic su Dopo (opzione predefinita) e immettere il numero di giorni dopo la creazione del set trascorsi i quali il set scadrà.To have the backup set expire after a specific number of days, click After (the default option), and enter the number of days after set creation that the set will expire. È possibile impostare un valore compreso nell'intervallo da 0 a 99999 giorni. L'impostazione del valore 0 giorni indica che il set di backup non ha scadenza.This value can be from 0 to 99999 days; a value of 0 days means that the backup set will never expire.

      Il valore predefinito viene impostato nell'opzione Periodo di memorizzazione predefinito supporti di backup (giorni) della finestra di dialogo Proprietà server (paginaImpostazioni database ).The default value is set in the Default backup media retention (in days) option of the Server Properties dialog box (Database Settings page). Per accedere a questa finestra di dialogo, fare clic con il pulsante destro del mouse sul nome del server in Esplora oggetti, scegliere Proprietà e quindi selezionare la pagina Impostazioni database .To access this dialog box, right-click the server name in Object Explorer and select properties; then select the Database Settings page.

    • Per impostare una data di scadenza specifica per il set di backup, fare clic su Ile immettere la data di scadenza del set.To have the backup set expire on a specific date, click On, and enter the date on which the set will expire.

  11. Per selezionare il tipo di destinazione del backup fare clic su Disco, URL o Nastro.Choose the type of backup destination by clicking Disk, URL or Tape. Per selezionare i percorsi per un massimo di 64 unità disco o nastro contenenti un singolo set di supporti, fare clic su Aggiungi.To select the paths of up to 64 disk or tape drives containing a single media set, click Add. I percorsi selezionati vengono visualizzati nella casella di riepilogo Backup su .The selected paths are displayed in the Backup to list box.

    Per rimuovere una destinazione di backup, selezionarla e fare clic su Rimuovi.To remove a backup destination, select it and click Remove. Per visualizzare il contenuto di una destinazione di backup, selezionarla e fare clic su Contenuto.To view the contents of a backup destination, select it and click Contents.

  12. Per visualizzare o selezionare le opzioni avanzate, fare clic su Opzioni nel riquadro Selezione pagina .To view or select the advanced options, click Options in the Select a page pane.

  13. Selezionare un'opzione Sovrascrivi supporti facendo clic su una delle opzioni seguenti:Select an Overwrite Media option, by clicking one of the following:

    • Esegui backup nel set di supporti esistenteBack up to the existing media set

      Per questa opzione, fare clic su Accoda al set di backup esistente o Sovrascrivi tutti i set di backup esistenti.For this option, click either Append to the existing backup set or Overwrite all existing backup sets. Per altre informazioni, vedere Set di supporti, gruppi di supporti e set di backup (SQL Server).For more information, see Media Sets, Media Families, and Backup Sets (SQL Server).

      Selezionare facoltativamente l'opzione Controlla nome set di supporti e scadenza set di backup per impostare la verifica della data e dell'ora di scadenza del set di supporti e del set di backup durante l'operazione di backup.Optionally, select Check media set name and backup set expiration to cause the backup operation to verify the date and time at which the media set and backup set expire.

      Immettere facoltativamente un nome nella casella di testo Nome set di supporti .Optionally, enter a name in the Media set name text box. Se non si specifica un nome, verrà creato un set di supporti con nome vuoto.If no name is specified, a media set with a blank name is created. Se si specifica un nome per il set di supporti, il supporto (nastro o disco) verrà controllato per verificare che il nome effettivo corrisponda al nome specificato.If you specify a media set name, the media (tape or disk) is checked to see whether the actual name matches the name you enter here.

      Se non si specifica il nome del set di supporti e si seleziona la casella di controllo per il controllo del nome, in caso di esito positivo anche il nome dei supporti nei supporti risulterà vuoto.If you leave the media name blank and check the box to check it against the media, success will equal the media name on the media also being blank.

    • Esegui backup in un nuovo set di supporti e cancella tutti i set di backup esistentiBack up to a new media set, and erase all existing backup sets

      Per questa opzione, immettere un nome nella casella di testo Nome nuovo set di supporti e, facoltativamente, aggiungere una descrizione per il set di supporti nella casella di testo Descrizione nuovo set di supporti .For this option, enter a name in the New media set name text box, and, optionally, describe the media set in the New media set description text box. Per altre informazioni, vedere Set di supporti, gruppi di supporti e set di backup (SQL Server).For more information, see Media Sets, Media Families, and Backup Sets (SQL Server).

  14. Nella sezione Affidabilità selezionare facoltativamente una delle opzioni seguenti:In the Reliability section, optionally, check:

  15. Nella sezione Log delle transazioni eseguire le operazioni seguenti:In the Transaction log section:

    • Per i backup dei log di routine, mantenere l'impostazione predefinita Tronca il log delle transazioni rimuovendo le voci inattive.For routine log backups, keep the default selection, Truncate the transaction log by removing inactive entries.

    • Per eseguire il backup della parte finale del log, ovvero il log attivo, selezionare Esegui backup della parte finale del log e lascia il database in stato di ripristino.To back up the tail of the log (that is, the active log), check Back up the tail of the log, and leave database in the restoring state.

      Un backup della parte finale del log viene eseguito dopo un errore per evitare la perdita di dati salvando la parte finale del log.A tail-log backup is taken after a failure to back up the tail of the log in order to prevent work loss. Eseguire il backup del log attivo, ovvero il backup della parte finale del log, sia dopo un errore, prima di iniziare a ripristinare il database, sia quando si esegue il failover a un database secondario.Back up the active log (a tail-log backup) both after a failure, before beginning to restore the database, or when failing over to a secondary database. Selezionare questa opzione corrisponde a specificare l'opzione NORECOVERY nell'istruzione BACKUP LOG di Transact-SQL.Selecting this option is equivalent to specifying the NORECOVERY option in the BACKUP LOG statement of Transact-SQL. Per altre informazioni sui backup della parte finale del log, vedere Backup della parte finale del log (SQL Server).For more information about tail-log backups, see Tail-Log Backups (SQL Server).

  16. Se si esegue il backup su un'unità nastro (come specificato nella sezione Destinazione della pagina Generale) l'opzione Scarica nastro al termine del backup sarà attiva.If you are backing up to a tape drive (as specified in the Destination section of the General page), the Unload the tape after backup option is active. Se si seleziona questa opzione, verrà inoltre attivata l'opzione Riavvolgi il nastro prima di scaricarlo .Clicking this option activates the Rewind the tape before unloading option.

  17. SQL Server 2008 Enterprise EditionSQL Server 2008 Enterprise e versioni successive supporta la [compressione dei backup](../../relational-databases/backup-restore/backup-compression-sql-server.md).(../../relational-databases/backup-restore/backup-compression-sql-server.md). Per impostazione predefinita, la compressione di un backup dipende dal valore dell'opzione di configurazione del server Valore predefinito di compressione backup .By default, whether a backup is compressed depends on the value of the backup-compression default server configuration option. Tuttavia, indipendentemente dall'impostazione predefinita a livello di server corrente, è possibile comprimere un backup selezionando Comprimi backuped è possibile impedire la compressione selezionando Non comprimere il backup.However, regardless of the current server-level default, you can compress a backup by checking Compress backup, and you can prevent compression by checking Do not compress backup.

    Per visualizzare l'impostazione predefinita corrente della compressione dei backupTo view the current backup compression default

    CrittografiaEncryption

    Per crittografare il file di backup, selezionare la casella di controllo Crittografa backup .To encrypt the backup file check the Encrypt backup check box. Selezionare un algoritmo di crittografia da utilizzare per la crittografia del file di backup e fornire un certificato o una chiave asimmetrica.Select an encryption algorithm to use for encrypting the backup file and provide a Certificate or Asymmetric key. Gli algoritmi di crittografia disponibili sono:The available algorithms for encryption are:

  • AES 128AES 128

  • AES 192AES 192

  • AES 256AES 256

  • Triple DESTriple DES

Eseguire il backup usando T-SQLBack up using T-SQL

  1. Per eseguire il backup del log delle transazioni, eseguire l'istruzione BACKUP LOG specificando gli elementi seguenti:Execute the BACKUP LOG statement to back up the transaction log, specifying the following:

    • Il nome del database a cui appartiene il log delle transazioni di cui si desidera eseguire il backup.The name of the database to which the transaction log that you want to back up belongs.

    • Il dispositivo di backup in cui viene scritto il backup del log della transazione.The backup device where the transaction log backup is written.

Esempio (Transact-SQL) Example (Transact-SQL)

IMPORTANTEIMPORTANT!!! In questo esempio viene utilizzato il database AdventureWorks2012AdventureWorks2012 in cui viene utilizzato il modello di recupero con registrazione minima.This example uses the AdventureWorks2012AdventureWorks2012 database, which uses the simple recovery model. Per consentire i backup del log, prima di eseguire un backup completo del database, il database viene impostato in modo da utilizzare il modello di recupero con registrazione completa.To permit log backups, before taking a full database backup, the database was set to use the full recovery model. Per altre informazioni, vedere Visualizzazione o modifica del modello di recupero di un database (SQL Server).For more information, see View or Change the Recovery Model of a Database (SQL Server).

In questo esempio viene creato un backup del log delle transazioni per il database AdventureWorks2012AdventureWorks2012 nel dispositivo di backup denominato creato in precedenza, MyAdvWorks_FullRM_log1.This example creates a transaction log backup for the AdventureWorks2012AdventureWorks2012 database to the previously created named backup device, MyAdvWorks_FullRM_log1.

BACKUP LOG AdventureWorks2012  
   TO MyAdvWorks_FullRM_log1;  
GO  

Utilizzo di PowerShell Using PowerShell

  1. Usare il cmdlet Backup-SqlDatabase e specificare Log per il valore del parametro -BackupAction .Use the Backup-SqlDatabase cmdlet and specify Log for the value of the -BackupAction parameter.

    L'esempio seguente consente di creare un backup del log del database di MyDB nel percorso di backup predefinito dell'istanza del server Computer\Instance.The following example creates a log backup of the MyDB database to the default backup location of the server instance Computer\Instance.

    --Enter this command at the PowerShell command prompt, C:\PS>  
    Backup-SqlDatabase -ServerInstance Computer\Instance -Database MyDB -BackupAction Log  
    

    Per impostare e utilizzare il provider PowerShell per SQL ServerTo set up and use the SQL Server PowerShell provider

Ulteriori informazioniMore information

BACKUP (Transact-SQL) BACKUP (Transact-SQL)
Applicazione dei backup di log delle transazioni (SQL Server) Apply Transaction Log Backups (SQL Server)
Piani di manutenzione Maintenance Plans
Backup completi del file (SQL Server) Full File Backups (SQL Server)