Windows Server Backup tidak dimaksudkan sebagai alat cadangan untuk SQL Server.
... Namun, desain membuatnya sangat cocok untuk organisasi kecil atau individu yang bukan profesional TI ...
Kutipan dari Windows Server Backup Panduan Langkah-demi-Langkah untuk Windows Server 2008 bagian: "Siapa yang harus menggunakan Windows Server Backup?"
Bagian yang Anda kutip pada dasarnya mengatakan, bahwa ketika Windows Server Backup masuk, itu akan memicu fitur VSS di Windows. SQL Server akan menyadari bahwa Volume Shadow Copy sedang terjadi dan dengan bantuan layanan SQL Server Writer, akan memastikan bahwa salinan file database (* .mdf, * .ndf, * .ldf) dapat dilakukan.
Tujuan dari layanan SQL Server Writer didefinisikan sebagai berikut:
Saat berjalan, Mesin Basis Data mengunci dan memiliki akses eksklusif ke file data. Ketika Layanan Penulis SQL tidak berjalan, program cadangan yang berjalan di Windows tidak memiliki akses ke file data, dan cadangan harus dilakukan menggunakan cadangan SQL Server.
Gunakan SQL Writer Service untuk mengizinkan program cadangan Windows untuk menyalin file data SQL Server saat SQL Server sedang berjalan.
Kutipan dari bagian Layanan Penulis SQL : "Tujuan"
Jadi pada dasarnya itulah yang terjadi dengan Windows Server Backup.
Pencadangan yang dibuat dengan Pencadangan Windows Server saat SQL Server berjalan harus konsisten, tetapi transaksi yang belum ditulis ke disk belum ada di Salinan Bayangan Volume. Cuplikan database diambil saat sedang ONLINE.
Namun artikel MSDN Snapshot Backups menyatakan:
Hanya jenis cadangan berikut yang bisa menjadi cadangan snapshot:
- Cadangan penuh
- Cadangan sebagian
- Cadangan file
- Cadangan basis data diferensial. Ini didukung hanya ketika vendor menggunakan antarmuka VSS.
dan tambahan:
Kecuali seperti yang disebutkan sebelumnya dalam topik ini, backup snapshot secara fungsional setara dengan backup konvensional yang sesuai. Anda dapat menggunakan cadangan snapshot dalam memulihkan urutan dengan cadangan penuh non-snapshot, cadangan diferensial, dan cadangan log. Seperti cadangan lainnya, cadangan snapshot dilacak dalam database msdb, di mana cadangan snapshot diidentifikasi oleh backupset.is_snapshot = 1. Untuk informasi lebih lanjut tentang msdb, lihat Database msdb.
SQL Server tidak mendukung pemulihan online dari cadangan snapshot. Mengembalikan cadangan snapshot secara otomatis membuat database offline. Pemulihan sedikit demi sedikit dapat memasukkan cadangan snapshot, tetapi semua urutan pengembalian adalah pemulihan offline. Untuk informasi lebih lanjut tentang pemulihan sedikit demi sedikit, lihat Melakukan Pemulihan sedikit demi sedikit.
Untuk menjawab pertanyaan Anda:
- Apakah saya hanya perlu mencadangkan .mdf? .Mdf dan .ldf?
- Online atau hanya offline?
- Apa prosedur resmi untuk memulihkan database SQL Server yang didukung seperti ini?
- Apakah ada sesuatu yang istimewa untuk dipertimbangkan ketika melakukan backup inkremental / diferensial?
- Di mana semua ini didokumentasikan?
Jawaban:
- Ya, Anda dapat melakukan salinan Windows Server Backup (VSS) dari file .mdf dan .ldf. Cadangan harus konsisten, tetapi database akan menjadi OFFLINE setelah pemulihan.
- Jika SQL Server dihentikan / database dilepaskan / database OFFLINE maka salinan VSS dari file .mdf dan .ldf adalah 100% konsisten.
- Saya tidak yakin tentang cara mengembalikan database (ke titik waktu) yang dilakukan dengan Windows Server Backup, karena database dipulihkan dalam keadaan OFFLINE. Basis data dalam status OFFLINE tidak dapat dipulihkan / dipulihkan lebih lanjut dan membawa hasil ONLINE database dalam basis data yang dianggap sepenuhnya pulih. Saya akan merekomendasikan terpisah SQL Server FULL, DIFF, dan TLOG Backups untuk memastikan Anda dapat melakukan pemulihan database ke titik-dalam-waktu.
- Log Transaksi bukan bagian dari snapshot yang dibuat dengan Cadangan Server Windows dan harus dilakukan sebagai tambahan. Snapshot diferensial didukung oleh vendor pihak ketiga sebagai bagian dari urutan pencadangan, tetapi Windows Server Backup tampaknya tidak dapat melakukan pencadangan diferensial. Dalam hal ini Anda juga harus melakukan cadangan diferensial tambahan. (lihat 3.)
- Referensi yang berbeda
Dijelaskan dalam implementasi kehidupan nyata
Di lingkungan kami, kami memiliki situasi serupa di mana VMware melakukan snapshot dan DBA sedang melakukan dump SQL Server dengan Commvault. Riwayat cadangan terlihat seperti ini:
DBNAME TYPE BACKUPSET_NAME IS_SNAPSHOT BACKUP_START_DATE
------- ---- ------------------------- ----------- -----------------------
DB_NAME Full NULL 1 2016-12-10 18:23:59.000
DB_NAME Full CommVault Galaxy Backup 0 2016-12-10 20:07:41.000
DB_NAME Log CommVault Galaxy Backup 0 2016-12-11 06:00:40.000
DB_NAME Full NULL 1 2016-12-11 18:24:00.000
DB_NAME Diff CommVault Galaxy Backup 0 2016-12-11 20:03:38.000
DB_NAME Log CommVault Galaxy Backup 0 2016-12-12 06:02:29.000
DB_NAME Log CommVault Galaxy Backup 0 2016-12-12 07:02:17.000
Snapshot VMware akan membuat entri dalam tabel sejarah database MSDB dengan IS_SNAPSHOT = 1
dan FULL
untuk setiap snapshot VMware yang dilakukan (setiap hari). Cadangan SQL Server asli (well Commvault menggunakan asli) dilakukan menggunakan cadangan FULL, DIFF, dan TLOG. Cadangan ini tidak ditandai sebagai IS_SNAPSHOT dan ada sebagai entri FULL (seminggu sekali) tambahan, DIFF (setiap hari) dan LOG (setiap jam) di tabel cadangan di database msdb.
Dengan pengaturan ini, kita dapat melakukan pemulihan ke snaphot date-time dan kemudian membawa database ONLINE, atau kita dapat melakukan pemulihan individu ke titik-waktu dengan menggunakan cadangan SQL Server "asli".