A cosa serve il ripristino headeronly quando si esegue un backup?


10

Quando controllo i miei backup con la seguente query:

SELECT      command, percent_complete,
            'elapsed' = total_elapsed_time / 60000.0,
            'remaining' = estimated_completion_time / 60000.0
FROM        sys.dm_exec_requests
WHERE       command like 'BACKUP%'
or command like 'RESTORE%'

Ho notato che prima del backup, SQL Server esegue un ripristino solo dopo il backup.

Mi chiedevo a cosa servisse e se il suo tempo di esecuzione potesse essere ridotto in qualche modo. Sembra richiedere più tempo del backup effettivo.

Risposte:


7

Ho notato che prima del backup, SQL Server esegue un ripristino solo dopo il backup.

Questo potrebbe far parte dei passaggi di ripristino eseguiti internamente dal server sql.

È possibile esaminare le fasi di ripristino utilizzando DBCC TRACEON(3604, 3605, 3004);. Usalo solo a scopo didattico su un server NON PROD.

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine

Come puoi vedere sopra ci sono essenzialmente 3 fasi principali di ripristino: copia dei dati, annullamento e ripetizione delle fasi insieme ad altre sottofasi in cui si apre e carica anche il set di backup.

Sembra richiedere più tempo del backup effettivo.

Per migliorare i tempi di ripristino, è necessario

  • Abilita inizializzazione file istantanea.
  • Utilizzare T-SQL e ripristinare with REPLACEper un database esistente invece di eliminare e ripristinare.
  • Assicurarsi di eseguire correttamente la manutenzione di msdb.
  • Verificare la presenza di VLF. Più VLF, maggiore è il tempo di ripristino.

Fare riferimento a Babysitting di un backup o ripristino lento da @AaronBertrand .


6

RESTORE HEADERONLY consente a SQL Server di verificare il file di destinazione per determinate proprietà prima del backup effettivo.

È possibile evitarlo eseguendo i backup utilizzando T-SQL BACKUP DATABASE ...in un processo di SQL Server Agent anziché utilizzare la GUI del piano di manutenzione, che è piena di problemi.


3

RESTORE HEADERONLYpuò richiedere molto tempo se il backup contiene molti file di log virtuali (VLF). Potresti avere successo nell'affrontare il tempo necessario per eseguire i ripristini se riduci e riduci il file di registro dei database di origine a una dimensione appropriata.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.