Eseguire il backup di un log delle transazioni

Si applica a:SQL Server

Questo articolo descrive come eseguire il backup di un log delle transazioni in SQL Server usando SQL Server Management Studio, Azure Data Studio, Transact-SQL o PowerShell.

Limiti

Non è possibile usare l'istruzione BACKUP in una transazione esplicita o implicita. Per transazione esplicita si intende una transazione di cui vengono definiti in modo esplicito l'inizio e la fine.

I backup del log delle transazioni del database di sistema di master non sono supportati.

Consigli

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. Tronca il log e supporta il ripristino del database in corrispondenza di uno specifico punto nel tempo.

Per impostazione predefinita, per ogni operazione di backup eseguita in modo corretto viene aggiunta una voce al log degli errori di SQL Server e al registro eventi di sistema. 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. In questo caso è possibile eliminare tali voci di log usando il flag di traccia 3226 se nessuno degli script dipende da esse. Vedere Flag di traccia (Transact-SQL).

Autorizzazioni

Le autorizzazioni BACKUP DATABASE e BACKUP LOG richieste vengono assegnate per impostazione predefinita ai membri del ruolo predefinito del server sysadmin e dei ruoli predefiniti del database db_owner e db_backupoperator. Controllare che le autorizzazioni siano corrette prima di iniziare.

Eventuali problemi correlati alla proprietà e alle autorizzazioni sul file fisico del dispositivo di backup possono interferire con l'operazione di backup. SQL Server deve essere in grado di leggere e scrivere nel dispositivo; l'account con il quale viene eseguito il servizio SQL Server deve avere autorizzazioni di scrittura. 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. I problemi relativi alle autorizzazioni del file fisico del dispositivo di backup emergono solo in fase di accesso alla risorsa fisica quando si prova a eseguire il backup o il ripristino. Anche in questo caso, controllare le autorizzazioni prima di iniziare.

Usare SQL Server Management Studio

Nota

I passaggi descritti in questa sezione si applicano anche ad Azure Data 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, scegliere Attività e quindi selezionare Backup. Verrà visualizzata la finestra di dialogo Backup database .

  4. Verificare il nome del database nella casella di riepilogo Database . È possibile selezionare facoltativamente un database diverso nell'elenco.

  5. Verificare che il modello di recupero sia impostato su FULL o BULK_LOGGED.

  6. Nella casella di riepilogo Tipo backup selezionare Log delle transazioni.

  7. Selezionare Backup di sola copia per creare un backup di sola copia (facoltativo). Un backup di sola copia è un backup di SQL Server indipendente dalla sequenza dei backup convenzionali di SQL Server, vedere Backup di sola copia.

    Nota

    Quando si seleziona l'opzione Differenziale, non è possibile creare un backup di sola copia.

  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.

  9. Immettere una descrizione del set di backup nella casella di testo Descrizione (facoltativo).

  10. Specificare la scadenza del set di backup:

    • Per impostare la scadenza del set di backup dopo un numero di giorni specifico, selezionzare Dopo (opzione predefinita) e immettere il numero di giorni dopo la creazione del set trascorsi i quali il set scadrà. È 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.

      Il valore predefinito viene impostato nell'opzione Periodo di memorizzazione predefinito supporti di backup (giorni) della finestra di dialogo Proprietà server (paginaImpostazioni database ). 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 .

    • Per impostare una data di scadenza specifica per il set di backup, selezionare Ile immettere la data di scadenza del set.

  11. Per selezionare il tipo di destinazione del backup selezionare Disco, URL o Nastro. Per selezionare i percorsi per un massimo di 64 unità disco o nastro contenenti un singolo set di supporti, selezionare Aggiungi. I percorsi selezionati vengono visualizzati nella casella di riepilogo Backup su .

    Per rimuovere una destinazione di backup, selezionarla, poi selezionare Rimuovi. Per visualizzare il contenuto di una destinazione di backup, selezionarla e fare clic su Contenuto.

  12. Per visualizzare o selezionare le opzioni avanzate, selezionare Opzioni nel riquadro Selezione pagina .

  13. Selezionare un'opzione Sovrascrivi supporti selezionando una delle opzioni seguenti:

    • Esegui backup nel set di supporti esistente

      Per questa opzione, selezionare Accoda al set di backup esistente o Sovrascrivi tutti i set di backup esistenti. Vedere Set di supporti, gruppi di supporti e set di backup (SQL Server).

      • Selezionare 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 (facoltativo).

      • Immettere un nome nella casella di testo Nome set di supporti(facoltativo). Se non si specifica un nome, verrà creato un set di supporti con nome vuoto. 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.

      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.

    • Esegui backup in un nuovo set di supporti e cancella tutti i set di backup esistenti

      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. Vedere Set di supporti, gruppi di supporti e set di backup (SQL Server).

  14. Nella sezione Affidabilità selezionare facoltativamente una delle opzioni seguenti:

  15. Nella sezione Log delle transazioni eseguire le operazioni seguenti:

    • Per i backup dei log di routine, mantenere l'impostazione predefinita Tronca il log delle transazioni rimuovendo le voci inattive.

    • Per eseguire il backup della parte finale del log (il log attivo), selezionare Esegui backup della parte finale del log e lascia il database in stato di ripristino.

      Un backup della parte finale del log viene eseguito dopo un errore per evitare la perdita di dati salvando la parte finale del log. 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. Selezionare questa opzione corrisponde a specificare l'opzione NORECOVERY nell'istruzione BACKUP LOG di Transact-SQL.

      Per altre informazioni sui backup della parte finale del log, vedere Backup della parte finale del log (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. Se si seleziona questa opzione, verrà inoltre attivata l'opzione Riavvolgi il nastro prima di scaricarlo.

  17. Per impostazione predefinita, la compressione di un backup dipende dal valore dell'opzione di configurazione del server valore predefinito di compressione backup. Tuttavia, indipendentemente dall'impostazione predefinita a livello di server corrente, è possibile comprimere un backup selezionando Comprimi backup ed è possibile impedire la compressione selezionando Non comprimere il backup.

    La compressione dei backup è supportata in SQL Server 2008 (10.0.x) Enterprise e versioni successive e SQL Server 2016 (13.x) Standard con Service Pack 1 e versioni successive.

    Per visualizzare l'impostazione predefinita di compressione dei backup, vedere Visualizzare o configurare l'opzione di configurazione del server backup compression default.

    Per crittografare il file di backup, selezionare la casella di controllo Crittografa backup. Selezionare un algoritmo di crittografia da utilizzare per la crittografia del file di backup e fornire un certificato o una chiave asimmetrica. Gli algoritmi di crittografia disponibili sono:

    • AES 128
    • AES 192
    • AES 256
    • Triple DES

Usare Transact-SQL

Per eseguire il backup del log delle transazioni, eseguire l'istruzione BACKUP LOG fornendo le seguenti informazioni:

  • Il nome del database a cui appartiene il log delle transazioni di cui si desidera eseguire il backup.
  • Il dispositivo di backup in cui viene scritto il backup del log della transazione.

Importante

In questo esempio viene utilizzato il database AdventureWorks2022 in cui viene utilizzato il modello di recupero con registrazione minima. 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.

Per altre informazioni, vedere Visualizzazione o modifica del modello di recupero di un database (SQL Server).

In questo esempio viene creato un backup del log delle transazioni per il database AdventureWorks2022 nel dispositivo di backup denominato creato in precedenza, MyAdvWorks_FullRM_log1.

BACKUP LOG AdventureWorks2022
   TO MyAdvWorks_FullRM_log1;
GO

Utilizzare PowerShell

Impostare e usare il provider SQL Server PowerShell. Usare il cmdlet Backup-SqlDatabase e specificare Log per il valore del parametro -BackupAction .

L'esempio seguente consente di creare un backup del log del database di <myDatabase> nel percorso di backup predefinito dell'istanza del server Computer\Instance.

Backup-SqlDatabase -ServerInstance Computer\Instance -Database <myDatabase> -BackupAction Log