Saat ini saya harus berurusan dengan log transaksi SQL Server yang sudah di luar kendali. Penafian: Saya bukan dba dan ini bukan bidang keahlian saya jadi mohon ikut saya.
Saat ini saya memiliki file log Transaksi 115GB untuk database 500MB yang (jelas) telah dikelola dengan buruk selama beberapa waktu untuk mendapatkan status ini.
Prioritas utama adalah untuk mendapatkan kembali ruang pada disk yang diambil oleh file ini sebelum kita kehabisan! Saya telah diberitahu bahwa meningkatkan ukuran drive bukanlah suatu pilihan, bahkan untuk sementara, dan berdasarkan pada pertumbuhan masa lalu, kita perlu segera bertindak.
Seperti yang saya pahami, pendekatan terbaik adalah menjaga db dalam mode pemulihan penuh tetapi mengambil cadangan reguler dari file log, memonitor ini selama periode waktu dan menyesuaikan ukuran awal dan kenaikan sesuai. Baiklah semuanya.
Melihat kami mengambil cadangan db penuh secara teratur pada tengah malam, apakah aman bagi saya untuk sementara menempatkan database ke dalam Mode Pemulihan Sederhana (setelah salah satu dari cadangan ini berjalan), mengecilkan file log untuk mendapatkan kembali (hampir semua) ruang dan lalu masukkan kembali ke Pemulihan Penuh dengan strategi cadangan yang disebutkan di atas?
Pemikiran saya adalah jika sesuatu terjadi sekitar waktu ini, kita dapat dengan mudah mengembalikan cadangan penuh tanpa menggunakan log.
MEMPERBARUI
Beberapa detail tambahan sebagai balasan atas beberapa jawaban dan komentar:
Kami ingin mempertahankan kemampuan untuk melakukan pemulihan point-in-time sehingga database harus tetap dalam mode pemulihan penuh.
Alasan mengapa file t-log telah tumbuh begitu besar adalah karena itu tidak pernah didukung . Diverifikasi sebagai log_reuse_wait_desc mengembalikan 'LOG_BACKUP'.