Condividi tramite


Eseguire il backup del log delle transazioni quando il database è danneggiato (SQL Server)

Si applica a:SQL Server

Questo argomento descrive come eseguire il backup di un log delle transazioni quando il database è danneggiato in SQL Server usando SQL Server Management Studio o Transact-SQL.

Contenuto dell'articolo

Prima di iniziare

Limitazioni e restrizioni

  • Non è possibile usare l'istruzione BACKUP in una transazione esplicita o implicita .

Consigli

  • Per un database che utilizza il modello di recupero con registrazione completa o con registrazione minima, è generalmente necessario eseguire il backup della parte finale del log prima di avviare il ripristino del database. È inoltre consigliabile eseguire il backup della parte finale del log del database primario prima del failover di una configurazione di log shipping. Il ripristino del backup del tail-log come backup del log finale prima del recupero del database consente di evitare la perdita di lavoro in seguito a un errore. Per altre informazioni sui backup della parte finale del log, vedere Backup della parte finale del log (SQL Server).

Sicurezza

Autorizzazioni

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 .

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_addumpdeviceche aggiunge una voce per un dispositivo di backup nelle tabelle di sistema. I problemi relativi al file fisico del dispositivo di backup potrebbero non emergere fino a quando non si accede alla risorsa fisica, durante un tentativo di backup o ripristino.

Utilizzo di SQL Server Management Studio

Per eseguire il backup della parte finale del log delle transazioni

  1. Dopo aver stabilito la connessione all'istanza appropriata del motore di database di Microsoft SQL Server, in Esplora oggetti fare clic sul 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 fare clic su 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. Lasciare deselezionata l'opzione Copia solo backup .

  8. Nell'area Set di backup , 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. Nella casella di testo Descrizione immettere una descrizione per il backup della parte finale del log.

  10. Specificare la scadenza del set di backup:

    • 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à. È 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, fare clic su Ile immettere la data di scadenza del set.

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

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

  12. Nella pagina Opzioni, selezionare Sovrascrivi media facendo clic su una delle seguenti opzioni:

    • Esegui backup nel set di supporti esistente

      Per questa opzione, fare clic su Accoda al set di backup esistente o Sovrascrivi tutti i set di backup esistenti.

      Facoltativamente, seleziona l'opzione Controlla nome set di supporti e scadenza set di backup per fare in modo che l'operazione di backup verifichi la data e l'ora in cui scadono il set di supporti e il set di backup.

      Facoltativamente, inserisci un nome nella casella di testo Nome set di supporti. 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 si lascia vuoto il nome del supporto e si seleziona la casella di controllo per verificare il nome, il successo occorrerà se anche il nome del supporto nel sistema risulta 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 .

    Per altre informazioni sulle opzioni dei set di supporti, vedere Set di supporti, gruppi di supporti e set di backup (SQL Server).

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

    • Verifica backup al termine.

    • Esegui il checksum prima della scrittura su supporti.

    • Continuare in caso di errore di checksum

    Per informazioni sui checksum, consultare Possibili errori dei supporti durante il backup e il ripristino (SQL Server).

  14. Nella sezione Log delle transazioni selezionare Esegui backup della parte finale del log e lascia il database in stato di ripristino.

    Questa opzione equivale a specificare l'istruzione BACKUP seguente:

    BACKUP LOG <database_name> TO <backup_device> WITH NORECOVERY

    Importante

    In fase di ripristino nella finestra di dialogo Ripristina database il tipo di backup della parte finale del log verrà visualizzato come Log delle transazioni (solo copia).

  15. 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 .

  16. SQL Server 2008 (10.0.x) Enterprise e versioni successive supportano la compressione dei backup. 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 backuped è possibile impedire la compressione selezionando Non comprimere il backup.

    Per visualizzare l'impostazione predefinita corrente della compressione dei backup

Utilizzo di Transact-SQL

Per creare una copia di backup del log delle transazioni attivo

  1. Eseguire l'istruzione BACKUP LOG per eseguire il backup del log delle transazioni attivo, specificando:

    • Il nome del database a cui appartiene il log delle transazioni di cui si desidera eseguire il backup.

    • Il dispositivo di backup in cui verrà memorizzato il backup del log delle transazioni.

    • Clausola NO_TRUNCATE.

      Questa clausola consente di eseguire il backup della parte attiva del log delle transazioni anche se non è possibile accedere al database, purché il file del log delle transazioni sia accessibile e non danneggiato.

Esempio (Transact-SQL)

Nota

In questo esempio viene utilizzato AdventureWorks2022, che utilizza il modello di recupero semplice. Per consentire i backup del log, prima di eseguire un backup completo del database, il database è stato impostato per utilizzare il modello di recupero completo. Per altre informazioni, vedere Visualizzazione o modifica del modello di recupero di un database (SQL Server).

In questo esempio viene eseguito il backup del log della transazione attualmente attivo quando un database è danneggiato e inaccessibile, se il log delle transazioni non è danneggiato ed è accessibile.

BACKUP LOG AdventureWorks2022  
   TO MyAdvWorks_FullRM_log1  
   WITH NO_TRUNCATE;  
GO  

Vedi anche

Ripristinare un backup del log delle transazioni (SQL Server)
Ripristinare un database di SQL Server a un punto specifico nel tempo (modello di recupero con registrazione completa)
Backup database (pagina Opzioni di backup)
Backup database (pagina Generale)
Applicare backup di log delle transazioni (SQL Server)
BACKUP (Transact-SQL)
Ripristini di file (modello di recupero semplice)
Ripristini di file (modello di recupero completo)