SQL Server 2012 Model Pemulihan Sederhana dengan LOG_BACKUP log_reuse_wait_desc


11

Sementara saya sedang melakukan penyelidikan sendiri, apakah ada yang tahu mengapa database dalam SIMPLEmodel pemulihan memiliki LOG_BACKUPuntuk itu log_reuse_wait_desc?

SQL Server 2012 SP1. Database dibuat hanya beberapa minggu yang lalu. Tidak ada replikasi, tidak ada mirroring, tidak ada pengiriman log, dan tidak pernah memilikinya.

Kami melakukan backup database dan mengembalikan ke contoh lain, itu menunjukkan SIMPLEdan NOTHINGdi log_reuse_waitatas contoh lainnya. Tapi saya tidak berpikir mengembalikan ke contoh lain adalah cara yang baik untuk mereproduksi masalah karena mengembalikan operasi rolls-forward / rolls transaksi kembali.

Jawaban:


11

Baiklah, menghabiskan kemarin siang malam menyelidiki, menguji dan mencoba mereproduksi masalah. Ditemukan akar masalahnya:

MODELdatabase diatur ke SIMPLEmodel pemulihan.

Jika model database telah diatur ke SIMPLEmodel pemulihan, dan database pengguna dibuat dengan SIMPLEmodel pemulihan, SQL Server entah bagaimana memperlakukannya seolah-olah berada dalam FULLmodel pemulihan. Karenanya menunggu untuk LOG_BACKUPmemotong log.

Saya telah mencantumkan langkah-langkah di tautan ini untuk menunjukkan bagaimana saya mereproduksi masalah.

Saya pikir penyebab utama adalah jika database pengguna dibuat (tidak diubah setelah) dengan model pemulihan sederhana, maka ia memiliki masalah ini. Saya menyalahkan model database karena itu adalah satu-satunya cara untuk membuat database pengguna dengan model pemulihan yang ditentukan.

Ini didokumentasikan dalam artikel Pangkalan Pengetahuan Microsoft 2830400 dan diperbaiki di SQL Server 2012 SP1 CU4 dan RTM CU7:

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.