SQL Server 2012 Simple Recovery Model ที่มี LOG_BACKUP log_reuse_wait_desc


11

ในขณะที่ฉันกำลังทำการตรวจสอบของตัวเองไม่มีใครรู้ว่าทำไมฐานข้อมูลในSIMPLEรูปแบบการกู้คืนมีLOG_BACKUPไว้เพื่อlog_reuse_wait_descอะไร

SQL Server 2012 SP1 ฐานข้อมูลสร้างขึ้นเมื่อไม่กี่สัปดาห์ที่ผ่านมา ไม่มีการจำลองแบบไม่มีการมิเรอร์ไม่มีบันทึกการจัดส่งและไม่เคยมีสิ่งเหล่านี้

เราทำการสำรองฐานข้อมูลและกู้คืนไปยังอินสแตนซ์อื่นซึ่งจะแสดงSIMPLEและNOTHINGในlog_reuse_waitอินสแตนซ์อื่น แต่ฉันไม่คิดว่าการกู้คืนไปยังอินสแตนซ์อื่นเป็นวิธีที่ดีในการทำให้เกิดปัญหาอีกครั้งเนื่องจากการเรียกคืนการดำเนินการธุรกรรมย้อนกลับ / ย้อนกลับ

คำตอบ:


11

เอาล่ะใช้เวลาทั้งกลางวันและกลางคืนสอบสวนตรวจสอบและพยายามที่จะทำให้เกิดปัญหา พบสาเหตุที่แท้จริง:

MODELฐานข้อมูลตั้งเป็นSIMPLEรูปแบบการกู้คืน

ถ้าฐานข้อมูลโมเดลถูกตั้งค่าเป็นSIMPLEโมเดลการกู้คืนและฐานข้อมูลผู้ใช้ถูกสร้างขึ้นด้วยSIMPLEโมเดลการกู้คืน SQL Server จะทำการจัดการกับมันราวกับว่ามันอยู่ในFULLรูปแบบการกู้คืน ดังนั้นรอLOG_BACKUPตัดทอนบันทึก

ฉันได้แสดงขั้นตอนต่าง ๆ ในลิงก์นี้เพื่อแสดงวิธีการทำซ้ำปัญหา

ฉันคิดว่าสาเหตุที่แท้จริงคือถ้าฐานข้อมูลผู้ใช้ถูกสร้างขึ้น (ไม่เปลี่ยนแปลงหลังจาก) ด้วยรูปแบบการกู้คืนอย่างง่ายแล้วมันมีปัญหานี้ ฉันตำหนิฐานข้อมูลโมเดลเนื่องจากเป็นวิธีเดียวในการสร้างฐานข้อมูลผู้ใช้ด้วยโมเดลการกู้คืนที่กำหนด

เอกสารนี้ในบทความ Microsoft Knowledge Base 2830400 และได้รับการแก้ไขใน SQL Server 2012 SP1 CU4 และ RTM CU7:

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.