Saya memiliki database dengan hampir 1TB FILESTREAM
data yang saya tidak perlu dicadangkan (jika data itu dihapus akan dibuat kembali secara otomatis dalam beberapa jam, jadi itu tidak penting). Sebagian besar data diubah setiap beberapa hari, jadi cadangan diferensial tidak akan membantu memperkecil ukurannya.
Saya memiliki cadangan yang bekerja dengan cara yang saya butuhkan dengan mengatur Mode Pemulihan ke Full
, membuat terpisah FILEGROUP
untuk FILESTREAM
, kemudian mengambil cadangan hanya "Primer" FILEGROUP
. Masalah yang disebabkan ini adalah file log (yang juga didukung) sekarang tidak perlu besar karena termasuk FILESTREAM
data.
SIMPLE
Mode Pemulihan menghilangkan kemampuan saya untuk melakukan backup dari FILEGROUP
s tertentu , jadi saya tidak berpikir itu akan menjadi pilihan juga.
Pikiranku adalah hanya memindahkan FILESTREAM
data ke database terpisah, tapi sekarang aku kehilangan integritas referensial dan tentunya mewarisi sejumlah masalah lain juga.
Apakah ada cara untuk membuat cadangan parsial dalam Simple
mode pemulihan (tanpa mengatur FILESTREAM
tabel hanya untuk dibaca)? Jika tidak, apakah ada solusi waras lain untuk masalah saya?
sumber
Solusi untuk database yang diatur ke mode pemulihan SIMPLE adalah memiliki data FILESTREAM dalam grup file hanya-baca (yang bukan pilihan ideal Anda), dan kemudian mencadangkan hanya grup file baca / tulis dengan DIFERENSIAL seperti ini:
Ini akan mendapatkan data apa pun yang telah berubah di setiap grup baca / tulis. Itu yang termudah, di luar kotak, bahwa Anda dapat membuat sebagian cadangan dapat dikelola tanpa mendapatkan data FILESTREAM. Namun hal itu akan mensyaratkan bahwa proses pemuatan untuk data yang disebutkan di atas perlu memodifikasi filegroup untuk dibaca / ditulis, memuat data tambahan, dan kemudian diatur untuk hanya membaca lagi. Tentu tidak ideal.
sumber
Saya merasa kotor menyediakan ini sebagai opsi, tetapi jika Anda memilih untuk memisahkan data FILESTREAM ke dalam basis datanya sendiri, Anda dapat mempertahankan RI di antara tabel di dbs yang terpisah dengan cara memicu :
Harapkan masalah kinerja dan bagian kulit kepala Anda menjadi tidak berambut setelah menarik bulu-bulu kepala Anda dengan frustrasi, tetapi secara teoritis Anda bisa melakukan ini. Saya tidak merekomendasikan pendekatan ini pada tingkat apa pun, sebaliknya saya sangat menyarankan Anda meningkatkan frekuensi cadangan tlog Anda dan / atau beralih ke model pemulihan massal-log dan melihat berapa banyak ruang yang menyelamatkan Anda, TETAPI ini adalah solusi yang mungkin. Benar-benar Anda harus mempertimbangkan manfaat memisahkan data ini dan berurusan dengan desain database Frankenstein, tetapi itu adalah pilihan.
... Aku harus mandi sekarang ...
sumber
Saya tahu pertanyaan ini sudah dijawab, tetapi ada solusi lain yang dapat membantu orang lain. Baru-baru ini saya mengetahui dari blog Brent Ozar bahwa ada opsi untuk segera membuang cadangan log Anda:
Jadi, Anda dapat meninggalkan basis data dalam
Full
Mode Pemulihan dan melakukan pencadangan filegroup. Ketika log transaksi Anda menjadi terlalu besar, maka cukup jalankan perintah log cadangan dan Anda selesai.sumber