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 il modello di recupero con registrazione minima delle operazioni bulk, è in genere 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 della parte finale del log come backup del log finale prima del recupero del database consente di evitare la perdita di dati 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. Di conseguenza, i problemi relativi all'accesso e alla proprietà del file fisico del dispositivo di backup potrebbero emergere solo in fase di accesso 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 un'opzione Sovrascrivi supporti facendo clic su una delle impostazioni seguenti:

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

      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.

      Immettere facoltativamente 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 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 .

    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 checksum prima della scrittura nei supporti.

    • Continuare su errore di checksum

    Per informazioni sui checksum, vedere Possibili errori relativi ai 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 AdventureWorks2022che utilizza 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 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 fino a un punto specifico (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 con registrazione minima)
Ripristini di file (modello di recupero con registrazione completa)