Apa gunanya mengembalikan tajuk hanya saat melakukan pencadangan?

10

Ketika saya memantau cadangan saya dengan pertanyaan berikut:

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%'

Saya perhatikan bahwa sebelum backup, SQL Server melakukan restore header hanya kemudian backup.

Saya bertanya-tanya apa gunanya itu dan apakah waktu pelaksanaannya dapat dikurangi entah bagaimana. Tampaknya membutuhkan waktu lebih lama dari cadangan yang sebenarnya.

Nicolas de Fontenay
sumber

Jawaban:

7

Saya perhatikan bahwa sebelum backup, SQL Server melakukan restore header hanya kemudian backup.

Ini mungkin bagian dari langkah pemulihan yang dilakukan secara internal oleh sql server.

Anda dapat melihat ke fase pemulihan menggunakan DBCC TRACEON(3604, 3605, 3004);. Gunakan hanya untuk tujuan pendidikan di server NON PROD.

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

Seperti yang Anda lihat di atas bahwa pada dasarnya ada 3 fase utama pemulihan - menyalin data, membatalkan dan mengulang fase bersama dengan sub-fase lainnya di mana di dalamnya terbuka dan memuat set cadangan juga.

Tampaknya membutuhkan waktu lebih lama dari cadangan yang sebenarnya.

Untuk meningkatkan waktu pemulihan, Anda harus

  • Aktifkan inisialisasi file instan.
  • Gunakan T-SQL dan pulihkan with REPLACEuntuk database yang sudah ada alih-alih menjatuhkan dan mengembalikan.
  • Pastikan Anda melakukan perawatan msdb dengan benar.
  • Periksa VLF. Semakin banyak VLF, semakin lama waktu pemulihan.

Lihat Menjaga cadangan atau pengembalian yang lambat oleh @AaronBertrand .

Kin Shah
sumber
6

RESTORE HEADERONLY memungkinkan SQL Server untuk memeriksa file target untuk properti tertentu sebelum cadangan yang sebenarnya.

Anda dapat mencegah hal ini dengan menjalankan cadangan menggunakan T-SQL BACKUP DATABASE ...dalam pekerjaan SQL Server Agent alih-alih menggunakan Rencana Perawatan GUI, yang penuh dengan masalah.

Max Vernon
sumber
3

RESTORE HEADERONLYdapat memakan waktu lama jika cadangan Anda berisi banyak File Log Virtual (VLF). Anda mungkin memiliki beberapa keberhasilan dalam menangani lamanya waktu yang diperlukan untuk melakukan pemulihan jika Anda mengecilkan dan menumbuhkan kembali file log sumber database ke ukuran yang sesuai.

Avarkx
sumber