คำตอบที่สั้นกว่า:
คุณอาจจะมีทั้งการทำธุรกรรมระยะยาวทำงาน (การบำรุงรักษาดัชนี? บิ๊กแบทช์ลบหรืออัปเดต?) หรือคุณอยู่ใน "เริ่มต้น" (เพิ่มเติมด้านล่างเกี่ยวกับสิ่งที่หมายโดยค่าเริ่มต้น) โหมดการกู้คืนของFull
และยังไม่ได้ดำเนินการสำรองข้อมูลการล็อก (หรือ ไม่พาพวกมันมาบ่อยพอ)
หากเป็นปัญหาของรูปแบบการกู้คืนคำตอบง่ายๆอาจเป็นSimple
โหมดการกู้คืนหากคุณไม่ต้องการการกู้คืนเวลาและการสำรองข้อมูลบันทึกตามปกติ อย่างไรก็ตามหลายคนตอบคำถามโดยไม่เข้าใจรูปแบบการกู้คืน อ่านเพื่อทำความเข้าใจว่าทำไมจึงมีความสำคัญและตัดสินใจในสิ่งที่คุณทำ คุณสามารถเริ่มทำการสำรองข้อมูลบันทึกและทำการFull
กู้คืน
อาจมีเหตุผลอื่น ๆ แต่สิ่งเหล่านี้พบได้บ่อยที่สุด คำตอบนี้เริ่มดำลงในสองเหตุผลที่พบบ่อยที่สุดและให้ข้อมูลพื้นฐานเกี่ยวกับสาเหตุและวิธีเบื้องหลังเหตุผลรวมถึงสำรวจเหตุผลอื่น ๆ
คำตอบอีกต่อไป:
สถานการณ์ใดบ้างที่สามารถทำให้บันทึกเติบโตขึ้น มีเหตุผลหลายประการ แต่โดยทั่วไปแล้วเหตุผลเหล่านี้มีสองรูปแบบดังต่อไปนี้: มีความเข้าใจผิดเกี่ยวกับแบบจำลองการกู้คืนหรือมีธุรกรรมที่รันนาน อ่านต่อเพื่อดูรายละเอียด
เหตุผลอันดับแรก 1/2: ไม่เข้าใจโมเดลการกู้คืน
( อยู่ในโหมดการกู้คืนแบบเต็มและไม่ทำการสำรองข้อมูลบันทึก - นี่คือเหตุผลที่พบบ่อยที่สุด - ผู้ที่พบปัญหานี้ส่วนใหญ่ )
ในขณะที่คำตอบนี้ไม่ใช่การดำน้ำลึกในแบบจำลองการกู้คืนของ SQL Server หัวข้อของแบบจำลองการกู้คืนมีความสำคัญต่อปัญหานี้
ใน SQL Server มีรูปแบบการกู้คืนสามแบบ :
Full
,
Bulk-Logged
และ
Simple
.
เราจะเพิกเฉยBulk-Logged
ตอนนี้เราจะบอกว่ามันเป็นรุ่นไฮบริดและคนส่วนใหญ่ที่อยู่ในรุ่นนี้จะมีเหตุผลและเข้าใจรูปแบบการกู้คืน
สองเราดูแลเกี่ยวกับและความสับสนของพวกเขาเป็นสาเหตุของกรณีส่วนใหญ่ของคนที่มีปัญหานี้ที่มีและSimple
Full
ระยะเวลา: การกู้คืนโดยทั่วไป
ก่อนที่เราจะพูดถึง Recovery Models: มาพูดถึงการกู้คืนโดยทั่วไป หากคุณต้องการเจาะลึกลงไปในหัวข้อนี้เพียงแค่อ่านบล็อกของ Paul Randalและโพสต์ให้มากที่สุดเท่าที่คุณต้องการ สำหรับคำถามนี้แม้ว่า:
ความผิดพลาด / รีสตาร์ทการกู้คืน
หนึ่งวัตถุประสงค์ของแฟ้มบันทึกการทำธุรกรรมสำหรับการกู้คืนความเสียหาย / รีสตาร์ท สำหรับการหมุนไปข้างหน้าและการย้อนกลับของงานที่ทำเสร็จแล้ว (การหมุนไปข้างหน้า / ทำซ้ำ) ก่อนที่จะเกิดความผิดพลาดหรือเริ่มต้นใหม่และงานที่เริ่มต้นขึ้น มันเป็นหน้าที่ของบันทึกการทำธุรกรรมเพื่อดูว่าการทำธุรกรรมเริ่มต้นขึ้น แต่ไม่เคยทำเสร็จ (ย้อนกลับหรือเกิดข้อผิดพลาด / รีสตาร์ทก่อนที่การทำธุรกรรมจะเกิดขึ้น) ในสถานการณ์นั้นมันเป็นหน้าที่ของบันทึกที่จะพูดว่า"เฮ้ .. มันไม่เสร็จเลยลองย้อนกลับ"ระหว่างการกู้คืน มันเป็นหน้าที่ของบันทึกที่จะเห็นว่าคุณทำบางสิ่งบางอย่างเสร็จและแอปพลิเคชันไคลเอนต์ของคุณได้รับแจ้งว่ามันเสร็จสิ้นแล้ว (แม้ว่ามันจะยังไม่ได้แข็งไปยังไฟล์ข้อมูลของคุณ) และพูด"เฮ้ .. มันเกิดขึ้นจริงกันเถอะหมุนไปข้างหน้ากันเถอะทำให้มันเหมือนแอพพลิเคชั่นที่คิดว่าเป็น"หลังจากรีสตาร์ท ขณะนี้มีมากขึ้น แต่นั่นคือจุดประสงค์หลัก
การกู้คืนจุดในเวลา
วัตถุประสงค์อื่น ๆ สำหรับไฟล์บันทึกการทำธุรกรรมคือการให้ความสามารถในการกู้คืนสู่จุดเนื่องจาก "oops" ในฐานข้อมูลหรือเพื่อรับประกันจุดกู้คืนในกรณีที่ฮาร์ดแวร์ล้มเหลว เกี่ยวข้องกับข้อมูลและ / หรือไฟล์บันทึกของฐานข้อมูล หากบันทึกธุรกรรมนี้มีเร็กคอร์ดของธุรกรรมที่เริ่มต้นและเสร็จสิ้นแล้วสำหรับการกู้คืน SQL Server สามารถและใช้ข้อมูลนี้เพื่อรับฐานข้อมูลไปยังที่ที่เคยเกิดปัญหา แต่นั่นไม่ใช่ตัวเลือกที่ใช้ได้สำหรับเรา เพื่อที่จะทำงานเราจะต้องมีฐานข้อมูลของเราที่ด้านขวารูปแบบการกู้คืนและเราจะต้องใช้เวลาการสำรองข้อมูลเข้าสู่ระบบ
แบบจำลองการกู้คืน
ไปยังแบบจำลองการกู้คืน:
Simple Recovery Model
ดังนั้นด้วยการแนะนำข้างต้นจึงเป็นการง่ายที่สุดที่จะพูดคุยเกี่ยวกับSimple Recovery
model ก่อน ในรุ่นนี้คุณกำลังบอก SQL Server: "ฉันสบายดีกับคุณโดยใช้ไฟล์บันทึกการทำธุรกรรมของคุณสำหรับข้อผิดพลาดและเริ่มการกู้คืน ... " (คุณไม่มีทางเลือกจริง ๆ ค้นหาคุณสมบัติของกรดและควรสมเหตุสมผล) "... แต่เมื่อคุณไม่ต้องการใช้เพื่อวัตถุประสงค์ในการกู้คืนข้อผิดพลาด / เริ่มใหม่อีกต่อไปให้ไปข้างหน้าและนำไฟล์บันทึกกลับมาใช้ใหม่"
SQL Server รับฟังคำขอนี้ใน Simple Recovery และเก็บข้อมูลที่จำเป็นในการกู้คืนความผิดพลาด / รีสตาร์ทเท่านั้น เมื่อ SQL Server แน่ใจว่าสามารถกู้คืนได้เนื่องจากข้อมูลถูกทำให้แข็งไปยังไฟล์ข้อมูล (มากหรือน้อย) ข้อมูลที่ได้รับการชุบแข็งนั้นไม่จำเป็นในบันทึกอีกต่อไปและถูกทำเครื่องหมายสำหรับการตัด - ซึ่งหมายความว่ามันจะถูกใช้ซ้ำ
แบบจำลองการกู้คืนเต็มรูปแบบ
ด้วยFull Recovery
คุณกำลังบอก SQL Server ว่าคุณต้องการที่จะกู้คืนไปยังจุดที่กำหนดในเวลาใดก็ตามตราบใดที่ไฟล์บันทึกของคุณพร้อมใช้งานหรือไปยังจุดที่ระบุในเวลาที่สำรองข้อมูลล็อก ในกรณีนี้เมื่อ SQL Server มาถึงจุดที่จะปลอดภัยในการตัดไฟล์บันทึกใน Simple Recovery Model มันจะไม่ทำเช่นนั้น แต่จะช่วยให้แฟ้มบันทึกเติบโตต่อไปและจะอนุญาตให้เติบโตต่อไปจนกว่าคุณจะสำรองข้อมูลแฟ้มบันทึก (หรือเนื้อที่ในแฟ้มบันทึกของคุณหมด) ภายใต้สถานการณ์ปกติ
การเปลี่ยนจาก Simple เป็น Full มี Gotcha
มีกฎและข้อยกเว้นอยู่ที่นี่ เราจะพูดคุยเกี่ยวกับการทำธุรกรรมระยะยาวในเชิงลึกด้านล่าง
แต่ข้อควรระวังประการหนึ่งที่ควรคำนึงถึงสำหรับโหมดการกู้คืนแบบเต็มคือ: ถ้าคุณเพิ่งเปลี่ยนเป็นFull Recovery
โหมด แต่ไม่เคยใช้การสำรองข้อมูลเต็มรูปแบบเริ่มต้น SQL Server จะไม่เคารพคำขอของคุณที่จะอยู่ในFull Recovery
รูปแบบ ล็อกธุรกรรมของคุณจะยังคงดำเนินการตามที่มีในจนกว่าคุณจะเปลี่ยนไปแบบเต็มกู้คืนรุ่นและใช้ครั้งแรกของคุณSimple
Full Backup
รูปแบบการกู้คืนแบบเต็มโดยไม่มีการสำรองข้อมูลบันทึกไม่ดี
นั่นคือเหตุผลที่พบบ่อยที่สุดสำหรับการเติบโตของบันทึกที่ไม่สามารถควบคุมได้? คำตอบ: อยู่ในโหมดการกู้คืนแบบเต็มโดยไม่มีการสำรองข้อมูลบันทึก
สิ่งนี้เกิดขึ้นตลอดเวลากับผู้คน
ทำไมสิ่งนี้จึงเป็นข้อผิดพลาดทั่วไป?
ทำไมมันเกิดขึ้นตลอดเวลา? เนื่องจากฐานข้อมูลใหม่แต่ละแห่งได้รับการตั้งค่ารูปแบบการกู้คืนเริ่มต้นโดยดูที่ฐานข้อมูลโมเดล
การตั้งค่ารูปแบบการกู้คืนเริ่มต้นของโมเดลนั้นเป็นแบบเสมอFull Recovery Model
- จนกว่าจะมีใครเปลี่ยนแปลง ดังนั้นคุณอาจจะบอกว่า "การกู้คืนรุ่นเริ่มต้น" Full
เป็น หลายคนไม่ได้ตระหนักถึงสิ่งนี้และมีฐานข้อมูลของพวกเขาทำงานFull Recovery Model
โดยไม่มีการสำรองข้อมูลบันทึกและทำให้ไฟล์บันทึกการทำธุรกรรมมีขนาดใหญ่เกินความจำเป็น นี่คือเหตุผลว่าทำไมจึงเป็นเรื่องสำคัญที่จะต้องเปลี่ยนค่าเริ่มต้นเมื่อไม่ได้ผลกับองค์กรของคุณและความต้องการขององค์กร)
แบบจำลองการกู้คืนเต็มรูปแบบที่มีการสำรองข้อมูลบันทึกน้อยเกินไปนั้นไม่ดี
นอกจากนี้คุณยังสามารถพบปัญหาได้ที่นี่โดยไม่ทำการสำรองข้อมูลบันทึกบ่อยครั้งเพียงพอ
เมื่อทำการสำรองข้อมูลบันทึกประจำวันอาจฟังดูดีมันทำให้การกู้คืนต้องการคำสั่งกู้คืนที่น้อยลง แต่จำไว้ว่าการสนทนาข้างต้นไฟล์บันทึกนั้นจะยังคงเติบโตและเติบโตต่อไปจนกว่าคุณจะทำการสำรองข้อมูลบันทึก
ฉันจะค้นหาความถี่ในการสำรองข้อมูลบันทึกที่ฉันต้องการได้อย่างไร
คุณต้องพิจารณาความถี่ในการสำรองข้อมูลบันทึกโดยคำนึงถึงสองสิ่ง:
- ความต้องการการกู้คืน - หวังว่าสิ่งนี้ควรเป็นอย่างแรก ในกรณีที่ไดรฟ์อยู่ในบันทึกการทำธุรกรรมของคุณจะไม่ดีหรือคุณได้รับความเสียหายอย่างร้ายแรงที่มีผลต่อการสำรองข้อมูลบันทึกของคุณจำนวนข้อมูลที่สามารถสูญหายได้? หากหมายเลขนั้นไม่เกิน 10-15 นาทีคุณต้องทำการสำรองข้อมูลบันทึกทุก 10-15 นาทีสิ้นสุดการสนทนา
- การเติบโตของบันทึก - หากองค์กรของคุณสูญเสียข้อมูลมากขึ้นเนื่องจากความสามารถในการสร้างวันนั้นใหม่ได้อย่างง่ายดายคุณอาจไม่ต้องสำรองข้อมูลบันทึกบ่อยกว่า 15 นาที บางทีองค์กรของคุณก็โอเคกับทุก ๆ 4 ชั่วโมง แต่คุณต้องดูจำนวนธุรกรรมที่คุณสร้างใน 4 ชั่วโมง การอนุญาตให้บันทึกเพิ่มขึ้นในสี่ชั่วโมงนั้นจะทำให้ไฟล์บันทึกมีขนาดใหญ่เกินไปหรือไม่ นั่นหมายความว่าการสำรองข้อมูลบันทึกของคุณใช้เวลานานเกินไปหรือไม่
เหตุผลหลักที่ 2/2: ธุรกรรมที่ดำเนินมายาวนาน
( "แบบจำลองการกู้คืนของฉันใช้ได้! บันทึกยังคงเพิ่มขึ้น! )
นี่อาจเป็นสาเหตุของการเติบโตของบันทึกที่ไม่สามารถควบคุมและไม่ได้ถูกควบคุม ไม่ว่าจะเป็นรูปแบบการกู้คืนข้อมูล แต่มักเกิดขึ้นในรูปแบบ"แต่ฉันอยู่ใน Simple Recovery Model - ทำไมบันทึกของฉันยังคงเพิ่มขึ้น!"
เหตุผลที่นี่เป็นเรื่องง่าย: ถ้า SQL ใช้บันทึกธุรกรรมนี้เพื่อวัตถุประสงค์ในการกู้คืนตามที่อธิบายไว้ข้างต้นก็ต้องดูกลับไปที่จุดเริ่มต้นของการทำธุรกรรม
ถ้าคุณมีธุรกรรมที่ใช้เวลานานหรือทำการเปลี่ยนแปลงจำนวนมากบันทึกไม่สามารถตัดทอนจุดตรวจสอบสำหรับการเปลี่ยนแปลงใด ๆ ที่ยังคงอยู่ในธุรกรรมเปิดหรือที่เริ่มต้นตั้งแต่ธุรกรรมนั้นเริ่มต้นขึ้น
ซึ่งหมายความว่าการลบครั้งใหญ่ลบแถวนับล้านในคำสั่งลบเดียวเป็นธุรกรรมเดียวและบันทึกไม่สามารถตัดทอนจนกว่าการลบทั้งหมดจะเสร็จสิ้น ในFull Recovery Model
การลบนี้จะถูกบันทึกและอาจเป็นจำนวนมากเข้าสู่ระบบบันทึก สิ่งเดียวกันกับการเพิ่มประสิทธิภาพดัชนีทำงานระหว่างการบำรุงรักษาหน้าต่าง นอกจากนี้ยังหมายถึงการจัดการธุรกรรมที่ไม่ดีและการไม่ดูและปิดธุรกรรมที่เปิดอยู่อาจทำให้คุณและไฟล์บันทึกของคุณเสียหายได้
ฉันจะทำอะไรเกี่ยวกับธุรกรรมที่ดำเนินมายาวนานเหล่านี้
คุณสามารถช่วยตัวเองที่นี่โดย:
- ปรับขนาดไฟล์บันทึกของคุณให้เหมาะสมกับสถานการณ์กรณีที่เลวร้ายที่สุดเช่นการบำรุงรักษาหรือการดำเนินการที่มีขนาดใหญ่ และเมื่อคุณขยายไฟล์บันทึกของคุณคุณควรมองไปที่คำแนะนำนี้(และลิงก์ทั้งสองที่เธอส่งถึงคุณ) โดย Kimberly Tripp การปรับขนาดที่เหมาะสมนั้นสำคัญอย่างยิ่งที่นี่
- ดูการใช้งานของการทำธุรกรรมของคุณ อย่าเริ่มทรานแซคชันในแอปพลิเคชันเซิร์ฟเวอร์ของคุณและเริ่มการสนทนากับ SQL Server เป็นเวลานานและมีความเสี่ยงที่จะเปิดหนึ่งครั้งนานเกินไป
- การดูธุรกรรมโดยนัยในงบ DML ของคุณ ตัวอย่างเช่น:
UPDATE TableName Set Col1 = 'New Value'
เป็นธุรกรรม ฉันไม่ได้ใส่ที่BEGIN TRAN
นั่นและฉันก็ไม่ต้องทำมันยังคงเป็นธุรกรรมหนึ่งที่เพิ่งจะทำโดยอัตโนมัติเมื่อเสร็จสิ้น ดังนั้นหากทำการดำเนินการกับแถวจำนวนมากให้พิจารณาการแบ็ตช์การดำเนินการเหล่านั้นเป็นกลุ่มที่จัดการได้มากขึ้นและให้เวลาในการกู้คืน หรือพิจารณาขนาดที่เหมาะสมเพื่อจัดการกับสิ่งนั้น หรืออาจดูการเปลี่ยนโมเดลการกู้คืนระหว่างหน้าต่างโหลดจำนวนมาก
เหตุผลสองข้อนี้ใช้กับการจัดส่งบันทึกด้วยหรือไม่
คำตอบสั้น ๆ : ใช่ คำตอบอีกต่อไปด้านล่าง
คำถาม: "ฉันกำลังใช้บันทึกการจัดส่งดังนั้นการสำรองข้อมูลบันทึกของฉันจึงเป็นไปโดยอัตโนมัติ ... ทำไมฉันจึงยังเห็นการเติบโตของบันทึกธุรกรรม"
คำตอบ: อ่านต่อ
บันทึกการจัดส่งคืออะไร
การจัดส่งบันทึกเป็นสิ่งที่ดูเหมือน - คุณกำลังจัดส่งสำรองข้อมูลบันทึกธุรกรรมของคุณไปยังเซิร์ฟเวอร์อื่นเพื่อวัตถุประสงค์ DR มีการเริ่มต้นบางอย่าง แต่หลังจากนั้นกระบวนการค่อนข้างง่าย:
- งานในการสำรองข้อมูลบันทึกบนเซิร์ฟเวอร์เดียว
- งานที่จะคัดลอกข้อมูลสำรองและ
- งานที่จะกู้คืนโดยไม่มีการกู้คืน (อย่างใดอย่างหนึ่ง
NORECOVERY
หรือSTANDBY
) บนเซิร์ฟเวอร์ปลายทาง
นอกจากนี้ยังมีงานตรวจสอบและแจ้งเตือนหากมีสิ่งที่ไม่เป็นไปตามที่คุณวางแผนไว้
ในบางกรณีคุณอาจต้องการกู้คืนบันทึกการจัดส่งเพียงวันละครั้งหรือทุกวันที่สามหรือสัปดาห์ละครั้ง นั่นเป็นเรื่องปกติ แต่ถ้าคุณทำการเปลี่ยนแปลงนี้กับงานทั้งหมด (รวมถึงการสำรองข้อมูลบันทึกและคัดลอกงาน) นั่นหมายความว่าคุณกำลังรอเวลาทั้งหมดที่จะทำการสำรองข้อมูลบันทึก นั่นหมายความว่าคุณจะมีการเติบโตของบันทึกจำนวนมาก - เนื่องจากคุณอยู่ในโหมดการกู้คืนแบบเต็มโดยไม่มีการสำรองข้อมูล - และอาจหมายถึงไฟล์บันทึกขนาดใหญ่ที่จะคัดลอก คุณควรแก้ไขกำหนดการของงานคืนค่าและให้การสำรองข้อมูลและสำเนาบันทึกเกิดขึ้นบ่อยครั้งมากขึ้นมิฉะนั้นคุณจะประสบปัญหาแรกที่อธิบายไว้ในคำตอบนี้
การแก้ไขปัญหาทั่วไปผ่านรหัสสถานะ
มีเหตุผลอื่นนอกเหนือจากสองสิ่งนี้ แต่สิ่งเหล่านี้พบได้บ่อยที่สุด โดยไม่คำนึงถึงสาเหตุ: มีวิธีที่คุณสามารถวิเคราะห์เหตุผลของคุณสำหรับการเติบโตของบันทึกที่ไม่ได้อธิบาย / การขาดการตัดทอนและดูว่ามันคืออะไร
โดยการสอบถามsys.databases
มุมมองแคตตาล็อกคุณสามารถดูข้อมูลที่อธิบายถึงเหตุผลที่ไฟล์บันทึกของคุณอาจกำลังรอการตัดทอน / นำมาใช้ซ้ำ
มีคอลัมน์ที่เรียกlog_reuse_wait
พร้อมกับรหัสการค้นหาของรหัสเหตุผลและlog_reuse_wait_desc
คอลัมน์ที่มีคำอธิบายของเหตุผลการรอ จากบทความออนไลน์ของหนังสืออ้างอิงเป็นสาเหตุส่วนใหญ่ (สิ่งที่คุณน่าจะเห็นและเหตุผลที่เราสามารถอธิบายเหตุผลได้ส่วนที่ขาดหายไปนั้นไม่ได้ใช้งานหรือเพื่อใช้ภายใน) โดยมีหมายเหตุเล็กน้อยเกี่ยวกับการรอตัวเอียง :
0 = ไม่มี
อะไรฟังดูเหมือน .. ไม่ควรรอ
1 = จุดตรวจ
กำลังรอให้จุดตรวจสอบเกิดขึ้น สิ่งนี้จะเกิดขึ้นและคุณควรจะสบายดี - แต่มีบางกรณีที่ต้องมองหาคำตอบหรือการแก้ไขในภายหลังที่นี่
2 = บันทึกข้อมูลสำรอง
คุณกำลังรอการบันทึกข้อมูลสำรองที่จะเกิดขึ้น ไม่ว่าคุณจะกำหนดเวลาไว้และจะเกิดขึ้นในไม่ช้าหรือคุณมีปัญหาแรกที่อธิบายไว้ที่นี่และตอนนี้คุณรู้วิธีแก้ไข
3 =
การสำรองข้อมูลหรือกู้คืนที่ใช้งานอยู่การดำเนินการสำรองข้อมูลหรือคืนค่ากำลังทำงานบนฐานข้อมูล
4 = รายการที่ใช้งานอยู่
มีรายการที่ใช้งานอยู่ที่ต้องทำให้เสร็จสมบูรณ์ (ไม่ว่าจะด้วยวิธีใด - ROLLBACK
หรือCOMMIT
) ก่อนที่จะสามารถทำการสำรองข้อมูลได้ นี่คือเหตุผลที่สองที่อธิบายไว้ในคำตอบนี้
5 = การทำมิเรอร์ฐานข้อมูลมิรเรอร์
กำลังล้าหลังหรือภายใต้ความหน่วงบางอย่างในสถานการณ์การมิเรอร์ประสิทธิภาพสูงหรือการมิเรอร์ถูกหยุดชั่วคราวด้วยเหตุผลบางอย่าง
6 = การจำลองแบบ
อาจมีปัญหากับการจำลองแบบที่จะทำให้สิ่งนี้ - เหมือนตัวแทนผู้อ่านบันทึกไม่ได้ทำงานฐานข้อมูลคิดว่ามันถูกทำเครื่องหมายสำหรับการจำลองแบบที่ไม่มีอีกต่อไปและเหตุผลอื่น ๆ นอกจากนี้คุณยังสามารถเห็นเหตุผลนี้และมันเป็นเรื่องปกติอย่างสมบูรณ์แบบเพราะคุณกำลังมองหาในเวลาที่เหมาะสมเช่นเดียวกับการอ่านการทำธุรกรรมโดยผู้อ่านบันทึก
7 = การสร้างสแนปชอตฐานข้อมูล
คุณกำลังสร้างสแน็ปช็อตฐานข้อมูลคุณจะเห็นสิ่งนี้ถ้าคุณดูในช่วงเวลาที่เหมาะสมเมื่อสแน็ปช็อตถูกสร้างขึ้น
8 = บันทึกการสแกน
ฉันยังไม่พบปัญหาในการทำงานแบบนี้ตลอดไป หากคุณดูนานพอและบ่อยครั้งพอคุณจะเห็นสิ่งนี้เกิดขึ้น แต่ไม่ควรเป็นสาเหตุของการเติบโตของบันทึกธุรกรรมที่มากเกินไปที่ฉันได้เห็น
9 = แบบจำลองรอง AlwaysOn Availability Groups กำลังใช้เร็กคอร์ดบันทึกธุรกรรมของฐานข้อมูลนี้กับฐานข้อมูลรองที่สอดคล้องกัน
เกี่ยวกับคำอธิบายที่ชัดเจนที่สุด ..