Cadangan SQL Server menggunakan Volume Shadow Copy

9

Banyak utilitas cadangan yang terkenal untuk Windows menggunakan Volume Shadow Copy Service yang ada di dalam versi windows yang lebih baru untuk membuat snapshot point-in-time disk agar dapat membuat cadangan file yang dibuka dengan aman.

Tetapi seberapa baik mekanisme ini bermain dengan SQL Server? Saya tahu bahwa ada SQL Server VSS Writer untuk membantu sistem cadangan bekerja sama dengan SQL Server, tetapi tidak semua sistem cadangan tahu tentang SQL Server dan memanfaatkan API terkait cadangan yang disediakannya.

Jadi pertanyaan saya adalah, bagaimana dengan program yang tidak tahu apa-apa tentang SQL Server?

Mereka mungkin mendapatkan snapshot point-in-time dari file MDF dan LDF seperti yang ada pada satu saat. Dan mungkin format data SQL Server cukup kuat sehingga snapshot seperti itu akan dijamin konsisten dan dapat digunakan.

Apakah itu cara kerjanya, atau saya melewatkan sesuatu? Apakah ada "gotcha" tentang menggunakan mekanisme cadangan seperti itu, atau apakah saya akan aman?

tylerl
sumber

Jawaban:

8

Jawaban singkat: mereka tidak bermain dengan sangat baik kecuali Anda memiliki SQL server yang dikonfigurasi dengan benar (dan bahkan kemudian saya tidak akan merekomendasikannya).

Ada banyak informasi tentang VSS & MSSQL bermain bersama di sini:
MSKB919023: Konektivitas SQL Server 2005 dan Volume Shadow Copy Service (VSS) .

Satu kata peringatan:

mungkin format data SQL Server cukup kuat sehingga snapshot seperti itu akan dijamin konsisten dan dapat digunakan

Sayangnya, itu asumsi besar, dan sayangnya tidak selalu aman. Itu sebabnya rencana perawatan MSSQL Anda sangat penting untuk memastikan Anda dapat pulih dari bencana.

Mark Henderson
sumber
6

Anda tidak pernah membuat cadangan file MDF dan LDF.

Anda menjalankan cadangan (paket, SQL, SMO, apa pun) lalu mencadangkan file cadangan ini.

Terus terang, saya tidak mengerti apa yang dikatakan vendor mana pun tentang VSS. Saya juga tidak suka vendor yang memiliki plugin SQL Server untuk cadangan. Anda menggunakan SQL Server backup asli hanya

FYI: Anda juga mengecualikan MDF dan LDF dari pemindaian virus juga.

gbn
sumber
2

Jika Anda tidak memiliki perangkat lunak yang memiliki "opsi" SQL, maka:

Membuat rencana pemeliharaan SQL atau pekerjaan Pencadangan terjadwal untuk database, membuangnya ke disk, lalu mencadangkan server. Atau ketika Anda membuangnya, buang langsung ke lokasi cadangan disk-ke-disk Anda jika ada.

Pembersih
sumber
2

Masalah utama dengan cadangan VSS disebabkan oleh caching di sql server.

Keadaan saat ini pada disk Anda tidak selalu berisi semua perubahan basis data. Backupsoftware harus mengetahui hal ini untuk memastikan bahwa sql server menulis semua cache sebelum Anda mengambil snapshot.

Karena itu: metode paling aman masih cadangan di manajemen sql / dengan alat server sql.

Dan Anda harus mengecualikan semua data server sql dan file cadangan dari virusscanners (.bak, .mdf, .ldf).

Andreas Rehm
sumber
3
Seluruh tujuan arsitektur VSS Requestor \ Writer adalah untuk memastikan bahwa aplikasi yang mengandalkan (misalnya aplikasi Cadangan Anda) dapat menginstruksikan pemilik (SQL Server \ Exchange dll) untuk menyiram semua data yang di-cache dan membuka transaksi, kemudian menyiram cache disk OS sebelum membuat snapshot. Apakah itu berfungsi dengan baik adalah masalah lain tetapi arsitektur melakukan sebanyak mungkin untuk memastikan file konsisten.
Helvick
2
um, tidak. kecuali Anda telah membuat perubahan konfigurasi gila, setelah transaksi dilakukan, itu ada di disk. tidak ada yang dilakukan dalam cache yang tidak juga dilakukan pada disk.
longneck