Cadangkan dan pulihkan basis data server SQL dengan grup grup FILESTREAM

8

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.

Mario Navarro Claras
sumber
Ikhtisar Filestream memberi tahu kami secara eksplisit bahwa Anda dapat mengecualikan grup FILESTREAM dari cadangan Anda. Implementasi TSQL akan sangat mengagumkan untuk dilihat
clifton_h
Ya, Anda dapat mengecualikan FILESTREAM dari cadangan Anda, tetapi dalam proses pemulihan Anda harus menyediakannya. Saya pikir ini selalu menjadi kebutuhan ketika grup filestream Anda baca-tulis. Ini artinya Anda hanya dapat melakukan sebagian cadangan data dan cadangan lainnya termasuk grup baca-tulis (yang berisi file-file)
Mario Navarro Claras

Jawaban:

1

Saya ingin tahu apakah mungkin memodifikasi konten semua kolom filestream saat melakukan pencadangan

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.

Randolph Barat
sumber