Saya menggunakan SQL Server dan memiliki database besar dengan dua filegroup:
- Utama : Yang berisi semua data kecuali file besar (1MB +)
- FILESTREAM (baca / tulis) : Yang berisi file-file besar
Sekarang, skenario cadangan adalah:
- Setiap hari Jumat dapatkan cadangan lengkap (2 pagi)
- Setiap hari dalam seminggu kecuali hari Jumat dapatkan cadangan diferensial (02:00)
Karena basis datanya besar, dan ia diproduksi di server jarak jauh, setiap kali saya ingin membawa database ke lingkungan lokal saya untuk membuat database uji (mingguan), saya harus membawa primer dan filestream.
Saya ingin dapat mengubah cara backup dan restore dilakukan, sedemikian rupa sehingga hanya harus membawa filegroup utama, mengabaikan filestream. Dengan cara ini, setiap minggu saya hanya akan membawa filegroup utama, dan tidak semua informasi yang mengira filestream.
Saya pikir mungkin ada banyak masalah, dan semua referensi filestream dapat hilang saat mengakses file. Saya ingin tahu apakah mungkin memodifikasi konten semua kolom filestream saat melakukan pencadangan, atau menggunakan filestream berbeda yang dihosting di lingkungan pengujian. Juga, saya pernah mendengar tentang Pemulihan Piecemeal hanya dari beberapa Filegroup, tetapi saya memiliki banyak keraguan tentang bagaimana melaksanakannya.
Pertanyaan 1: dapatkah saya memiliki skenario ini?
Pertanyaan 2: apakah sebaiknya hanya memiliki satu cadangan penuh dan membawa cadangan diferensial / log transaksi untuk menguji lingkungan?
Pertanyaan 3: dapatkah saya memiliki skenario yang lebih baik untuk membuat cadangan dan memulihkan?
Saya semua mendengar rekomendasi. Jika Anda memiliki contoh kasus, tolong tunjukkan saya dengan permintaan T-SQL.
sumber
Jawaban:
Tidak.
Saya akan membuat database pengujian saya dengan skema yang sama dengan database produksi, dan kemudian menulis skrip khusus untuk menyinkronkan data dalam filegroup utama (ini cukup mudah karena sistem produksi Anda adalah sumbernya, sehingga sinkronisasi hanya dalam satu arah ).
Kemudian dengan data filestream, saya akan mematikan file, yang bisa dilakukan dengan berbagai cara. Dari atas kepala saya, saya entah bagaimana menghasilkan file nol-byte di sisi pengujian.
sumber