File log basis data distribusi SQL Server tumbuh tak terkendali setelah cadangan database lengkap


8

Kami memiliki lingkungan replikasi gabungan yang mendorong ke 8 pelanggan. Ini bekerja dengan baik. Basis data distribusi kami diatur dalam mode pemulihan sederhana. Kami memiliki rencana pemeliharaan yang akan mencadangkan semua basis data setiap hari pada pukul 00:30. Setelah proses ini selesai, file log distribusi tumbuh selama 30 menit berikutnya dan menyerap semua ruang yang tersisa pada hard drive (sekitar 90GB)

Apa yang kemudian terjadi adalah bahwa database distribusi ditampilkan sebagai "Pemulihan yang Tertunda" dan kami tidak dapat melakukan apa pun sampai kami menghidupkan ulang mesin. Setelah ini saya dapat mengecilkan file log ke 2MB.

Saya tidak tahu mengapa ini terjadi. File log berjalan sekitar 10MB pada siang hari. Ukuran basis data adalah 15GB.


2
Apa lagi yang dilakukan rencana pemeliharaan? Dan berapa sys.databases.log_reuse_wait_descnilainya selama 30 menit itu sementara log tumbuh?
Remus Rusanu

Apa yang menendang basis data ke status menunggu pemulihan? Itu seharusnya tidak terjadi lakukan untuk cadangan penuh.
mrdenny

1
ok, jadi sepertinya ketika pekerjaan ini menjalankan "Riwayat agen bersih-bersih: distribusi" file log tumbuh ... Cadangan mungkin terjadi saat pekerjaan ini masih dieksekusi. Saya tidak yakin apakah itu akan menyebabkan masalah. Saya telah mengatur pembersihan riwayat untuk menjalankan satu jam sebelumnya. Akan lihat hasilnya apa
Koenyn

Adakah pembangunan kembali indeks?
Carol Baker West

Jawaban:


2

Sepertinya Anda memiliki banyak transaksi yang terjadi dengan replikasi Anda. Jika demikian, pekerjaan "bersih-bersih: distribusi" itu mungkin harus berjalan jauh lebih sering. Bagiku itu seperti terjadi sekali sehari. Pada server replikasi transaksi tinggi saya, saya menjalankannya setiap 15 menit untuk menjaga hanya 36 jam terakhir. Dengan begitu ia berjalan sendiri dan tidak rawa.

Berikut ini adalah artikel yang mungkin membantu - http://www.sqlservergeeks.com/blogs/singhsatnam84/sql-server-bi/563/sql-server-controlling-growth-of-a-distribution-database


1
ya, kami menjalankannya sekali sehari. Sekarang saya telah membatasi ukuran file log menjadi 15GB. Itu sepertinya telah banyak membantu. Tidak perlu memotongnya sekarang dan server kami tidak macet. Apa risiko dalam menjalankan pekerjaan setiap 15 menit?
Koenyn

Pembersihan adalah panggilan proc disimpan sederhana. Dengan menjalankannya lebih sering ukuran bets lebih kecil. Jika retensi Anda diatur dengan benar, tidak ada risiko yang saya temukan. Itu membuat replikasi tertinggal, dalam pengalaman saya. dbo.sp_MSdistribution_cleanup
Cate Donoghue

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.