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
Prima di iniziare, verificare che le autorizzazioni siano corrette, sia a livello di istanza che a livello di archiviazione.
Autorizzazioni del motore di database
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.
Autorizzazioni del dispositivo di backup
Eventuali problemi correlati alla proprietà e alle autorizzazioni sul file fisico del dispositivo di backup possono interferire con l'operazione di backup. L'account del sistema operativo sotto il quale viene eseguito il servizio SQL Server deve essere in grado di leggere e scrivere sul dispositivo. 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.
Nota
sp_addumpdevice aggiunge una voce per un dispositivo di backup nelle tabelle di sistema, tuttavia, non controlla le autorizzazioni di accesso al file.
Usare SQL Server Management Studio
Nota
I passaggi descritti in questa sezione si applicano anche ad Azure Data Studio.
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.
Espandere Databasee, a seconda del database, selezionare un database utente o espandere Database di sistema e selezionare un database di sistema.
Fare clic con il pulsante destro del mouse sul database, scegliere Attività e quindi selezionare Backup. Verrà visualizzata la finestra di dialogo Backup database .
Verificare il nome del database nella casella di riepilogo Database . È possibile selezionare facoltativamente un database diverso nell'elenco.
Verificare che il modello di recupero sia impostato su FULL o BULK_LOGGED.
Nella casella di riepilogo Tipo backup selezionare Log delle transazioni.
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.
Accettare il nome predefinito del set di backup indicato nella casella di testo Nome oppure immettere un nome diverso per il set di backup.
Immettere una descrizione del set di backup nella casella di testo Descrizione (facoltativo).
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.
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.
Per visualizzare o selezionare le opzioni avanzate, selezionare Opzioni nel riquadro Selezione pagina .
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).
Nella sezione Affidabilità selezionare facoltativamente una delle opzioni seguenti:
Verifica backup al termine.
Eseguire il checksum prima della scrittura nei supporti e (facoltativo) Continuare in caso di errori checksum.
Per informazioni sui checksum, vedere Possibili errori relativi ai supporti durante il backup e il ripristino (SQL Server).
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).
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.
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
Attività correlate
- Ripristinare un backup del log delle transazioni (SQL Server)
- Ripristinare un database di SQL Server fino a un punto specifico (modello di recupero con registrazione completa)
- Risolvere i problemi relativi a un log delle transazioni completo (Errore di SQL Server 9002)