นำไปใช้กับ
Microsoft SQL Server 2005 Developer Edition Microsoft SQL Server 2005 Enterprise Edition Microsoft SQL Server 2005 Enterprise X64 Edition Microsoft SQL Server 2005 Evaluation Edition SQL Server 2008 Developer SQL Server 2008 Enterprise SQL Server 2008 Standard SQL Server 2008 Standard Edition for Small Business SQL Server 2008 Workgroup SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Standard SQL Server 2008 R2 Workgroup

Microsoft แจกจ่ายการแก้ไข Microsoft SQL Server 2005, 2008 และ 2008 R2 เป็นไฟล์ที่ดาวน์โหลดได้ไฟล์เดียว เนื่องจากการแก้ไขเป็นแบบสะสม การเผยแพร่ใหม่แต่ละครั้งจะมีโปรแกรมแก้ไขด่วนทั้งหมด และการแก้ไขข้อบกพร่องด้านความปลอดภัยทั้งหมดที่รวมอยู่ในการเผยแพร่การแก้ไขSQL Server 2005, 2008 และ 2008 R2 ก่อนหน้า

อาการ

พิจารณาสถานการณ์ต่อไปนี้:

  • คุณติดตั้ง Microsoft SQL Server 2005, Microsoft SQL Server 2008 หรือ Microsoft SQL Server 2008 R2 บนคอมพิวเตอร์

  • ฐานข้อมูลอย่างน้อยหนึ่งฐานข้อมูลอยู่ในรูปแบบการกู้คืนแบบเต็มหรือแบบบันทึกเป็นกลุ่ม

  • ขนาดเริ่มต้นของแฟ้มล็อกธุรกรรมสําหรับฐานข้อมูลมีขนาดเล็ก อย่างไรก็ตามไฟล์ธุรกรรมจะมีขนาดใหญ่ขึ้น

  • การเพิ่มการเติบโตของการขยายโดยอัตโนมัติของไฟล์บันทึกธุรกรรมถูกกําหนดค่าเป็นขนาดเล็ก ตัวอย่างเช่น การเพิ่มการเติบโตของ autogrow จะถูกกําหนดค่าเป็นหนึ่งเมกะไบต์หรือเป็นหนึ่งเปอร์เซ็นต์ หรือคุณทําให้ไฟล์บันทึกธุรกรรมเพิ่มขึ้นโดยใช้การเติบโตด้วยตนเองขนาดเล็ก

  • ไฟล์บันทึกทรานแซคชันจะเพิ่มขึ้นทีละน้อย หลังจากนั้นสักครู่ไฟล์บันทึกธุรกรรมจะมีขนาดใหญ่ตัวอย่างเช่น แฟ้มบันทึกทรานแซคชันจะขยายจากหนึ่งร้อยเมกะไบต์เป็นสิบกิกะไบต์ ไฟล์บันทึกทรานแซคชันจะเพิ่มขึ้นครั้งละหนึ่งเมกะไบต์ในแต่ละการเติบโต

ในสถานการณ์นี้ คุณอาจพบปัญหาต่อไปนี้:

  • การกู้คืนฐานข้อมูลจะช้าลงเมื่อฐานข้อมูลเริ่มทํางานถ้ามีงานจํานวนมากที่ต้องการกู้คืนตัวอย่างเช่น ธุรกรรมค้างอยู่รอการเปิดเป็นเวลานาน หรือทรานแซคชันจํานวนมากที่มีขนาดเล็กจะไม่ได้รับการยอมรับเมื่อSQL Serverปิดเครื่องหรือเริ่มระบบใหม่ ในกรณีนี้ คุณอาจได้รับข้อผิดพลาดสําหรับเวลาการกู้คืนที่ใช้เวลานานในระยะการวิเคราะห์ ในระยะการเลิกทํา หรือในระยะทําซ้ํา ข้อผิดพลาดมีลักษณะดังต่อไปนี้และถูกบันทึกในแฟ้มบันทึกข้อผิดพลาด SQL Server 2005:

    การวิเคราะห์ฐานข้อมูล 'mydatabase' (7) สมบูรณ์ 0% (ประมาณ 1234 วินาที) นี่คือข้อความให้ข้อมูลเท่านั้น ไม่จําเป็นต้องดําเนินการใดๆ ของผู้ใช้

  • การกู้คืนฐานข้อมูลจะช้าลงเมื่อไฟล์สํารองฐานข้อมูลแบบเต็มและลําดับบันทึกทรานแซคชันเพิ่มเติมถูกคืนค่าถ้าฐานข้อมูลถูกทําให้ออนไลน์หมายเหตุ เมื่อต้องการทําให้ฐานข้อมูลออนไลน์ระหว่างการดําเนินการคืนค่า ให้ใช้ไวยากรณ์ WITH RECOVERY หรือ WITH STANDBY = ตัวเลือก<> ไวยากรณ์

  • การกู้คืนการมิเรอร์ฐานข้อมูลช้าบนเซิร์ฟเวอร์คู่ค้าในการมิเรอร์

  • ความคืบหน้าของตัวแทนโปรแกรมอ่านแฟ้มบันทึกสําหรับการจําลองแบบทรานแซคชันจะช้าสําหรับการดําเนินการต่อไปนี้:

    • บันทึกทรานแซคชันของฐานข้อมูลผู้เผยแพร่ถูกแยกวิเคราะห์

    • คําสั่งถูกเพิ่มลงในฐานข้อมูลการแจกจ่าย

    • ธุรกรรมจะถูกจําลองแบบ

  • ประสิทธิภาพการทํางานที่ช้าจะเกิดขึ้นเมื่อมีการสร้างสแนปช็อตฐานข้อมูลถ้ามีการบันทึกทรานแซคชันจํานวนมาก หรือถ้าบันทึกธุรกรรมยังคงทํางานเป็นเวลานาน ปัญหานี้เกิดขึ้นเนื่องจากสแนปช็อตต้องเรียกใช้การกู้คืนและบันทึกธุรกรรมจะต้องย้อนกลับ

  • ประสิทธิภาพการทํางานที่ช้าเกิดขึ้นเมื่อคุณใช้ไวยากรณ์ DBCC CHECKDB เพื่อสร้างสแนปช็อตฐานข้อมูลที่ซ่อนอยู่ซึ่งต้องกู้คืนสแนปช็อตฐานข้อมูลอย่างสมบูรณ์เพื่อเรียกใช้การตรวจสอบความสอดคล้องกัน

สาเหตุ

ปัญหาเหล่านี้เกิดขึ้นเนื่องจากไฟล์บันทึกเสมือน (VLFs) ในไฟล์บันทึกทรานแซคชันอาจทําให้ประสิทธิภาพการทํางานช้าลงเมื่อSQL Serverสแกนผ่าน VLF เหล่านี้ระหว่างการดําเนินการต่อไปนี้:

  • การกู้คืนฐานข้อมูล

  • การมิเรอร์ฐานข้อมูล

  • สแนปช็อตฐานข้อมูล

  • กิจกรรมตัวอ่านบันทึกการจําลองแบบธุรกรรมฐานข้อมูล

เมื่อไฟล์บันทึกทรานแซคชันสําหรับฐานข้อมูลเพิ่มขึ้นทีละน้อยระหว่างเงื่อนไขการเติบโตที่สูงมาก VLF หลายพันถึงหลายร้อยพันไฟล์จะแสดงอยู่ภายในไฟล์บันทึกธุรกรรม (.ldf) ชุดเดียว อย่างไรก็ตามการเติบโตของบันทึกขนาดใหญ่โดยการเพิ่มขนาดใหญ่สร้าง VLF หลายตัวเท่านั้นโดยการเปรียบเทียบ ตัวอย่างเช่น หลาย VLFs อาจน้อยกว่า 100 รายการหมายเหตุ VLFs คือส่วนหรือส่วนที่ถูกใช้งานภายในโดยSQL Serverในแฟ้มล็อกธุรกรรม  

การแก้ไข

ข้อมูลโปรแกรมอัปเดตสะสม

SQL Server 2008 R2

การแก้ไขสําหรับปัญหานี้ถูกนําออกใช้ครั้งแรกในการอัปเดตสะสม 6 สําหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการขอรับแพคเกจโปรแกรมปรับปรุงสะสมสําหรับ SQL Server 2008 R2 ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความใน Microsoft Knowledge Base:

2489376 แพคเกจโปรแกรมปรับปรุงสะสม 6 สําหรับSQL Server 2008 R2 หมายเหตุเนื่องจากรุ่นจะสะสม แต่ละการเผยแพร่การแก้ไขใหม่ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมด และการแก้ไขข้อบกพร่องด้านความปลอดภัยทั้งหมดที่รวมอยู่กับการเผยแพร่การแก้ไข 2008 R2 SQL Server R2 ก่อนหน้า เราขอแนะนําให้คุณพิจารณาใช้การแก้ไขรุ่นล่าสุดที่ประกอบด้วยโปรแกรมแก้ไขด่วนนี้ สำหรับข้อมูลเพิ่มเติม โปรดคลิกที่หมายเลขบทความต่อไปนี้เพื่อดูบทความใน Microsoft Knowledge Base:

981356 รุ่น SQL Server 2008 R2 ที่เผยแพร่หลังจากเผยแพร่SQL Server 2008 R2

SQL Server 2008 Service Pack 1

การแก้ไขสําหรับปัญหานี้ถูกนําออกใช้ครั้งแรกในการอัปเดตสะสม 12 สําหรับ SQL Server 2008 Service Pack 1

หมายเหตุ เนื่องจากรุ่นเป็นรุ่นสะสม การแก้ไขใหม่แต่ละรุ่นประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมด และการแก้ไขข้อบกพร่องด้านความปลอดภัยทั้งหมดที่รวมอยู่ในการเผยแพร่การแก้ไขSQL Server 2008 ก่อนหน้า Microsoft ขอแนะนําให้คุณพิจารณาใช้การแก้ไขรุ่นล่าสุดที่ประกอบด้วยโปรแกรมแก้ไขด่วนนี้ สำหรับข้อมูลเพิ่มเติม โปรดคลิกที่หมายเลขบทความต่อไปนี้เพื่อดูบทความใน Microsoft Knowledge Base:

970365 SQL Serverรุ่น 2008 ที่เผยแพร่หลังจากSQL Server 2008 Service Pack 1 มีการเผยแพร่การแก้ไขด่วนของ Microsoft SQL Server 2008 ถูกสร้างขึ้นสําหรับSQL Server Service Pack เฉพาะ คุณต้องใช้โปรแกรมแก้ไขด่วน SQL Server 2008 Service Pack 1 กับการติดตั้ง SQL Server 2008 Service Pack 1 โดยค่าเริ่มต้น โปรแกรมแก้ไขด่วนใดๆ ที่มีอยู่ในSQL Server Service Pack จะรวมอยู่ในSQL Server Service Pack ถัดไป

SQL Server 2008 Service Pack 2

การแก้ไขสําหรับปัญหานี้ถูกนําออกใช้ครั้งแรกในการอัปเดตสะสม 2 สําหรับ SQL Server 2008 Service Pack 2

หมายเหตุ เนื่องจากรุ่นเป็นรุ่นสะสม การแก้ไขใหม่แต่ละรุ่นประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมด และการแก้ไขข้อบกพร่องด้านความปลอดภัยทั้งหมดที่รวมอยู่ในการเผยแพร่การแก้ไขSQL Server 2008 ก่อนหน้า Microsoft ขอแนะนําให้คุณพิจารณาใช้การแก้ไขรุ่นล่าสุดที่ประกอบด้วยโปรแกรมแก้ไขด่วนนี้ สำหรับข้อมูลเพิ่มเติม โปรดคลิกที่หมายเลขบทความต่อไปนี้เพื่อดูบทความใน Microsoft Knowledge Base:

2402659 SQL Serverรุ่น 2008 ที่เผยแพร่หลังจากการเผยแพร่SQL Server 2008 Service Pack 2 มีการสร้างการแก้ไขด่วนของ Microsoft SQL Server 2008 สําหรับ service pack SQL Server เฉพาะ คุณต้องใช้ hotfix SQL Server 2008 Service Pack 2 กับการติดตั้ง SQL Server 2008 Service Pack 2 โดยค่าเริ่มต้น โปรแกรมแก้ไขด่วนใดๆ ที่มีอยู่ในSQL Server Service Pack จะรวมอยู่ในSQL Server Service Pack ถัดไป

SQL Server 2005 Service Pack 3

การแก้ไขสําหรับปัญหานี้ถูกนําออกใช้ครั้งแรกในการอัปเดตสะสม 13 สําหรับ SQL Server 2005 Service Pack 3

หมายเหตุ เนื่องจากรุ่นเป็นแบบสะสม การแก้ไขใหม่แต่ละรุ่นประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมด และการแก้ไขข้อบกพร่องด้านความปลอดภัยทั้งหมดที่รวมอยู่ในการเผยแพร่การแก้ไขSQL Server 2005 ก่อนหน้า Microsoft ขอแนะนําให้คุณพิจารณาใช้การแก้ไขรุ่นล่าสุดที่ประกอบด้วยโปรแกรมแก้ไขด่วนนี้ สำหรับข้อมูลเพิ่มเติม โปรดคลิกที่หมายเลขบทความต่อไปนี้เพื่อดูบทความใน Microsoft Knowledge Base:

960598 SQL Serverรุ่น 2005 ที่เผยแพร่หลังจากSQL Server 2005 Service Pack 3 มีการเผยแพร่การแก้ไขด่วนของ Microsoft SQL Server 2005 ถูกสร้างขึ้นสําหรับ service pack SQL Server เฉพาะ คุณต้องใช้โปรแกรมแก้ไขด่วน SQL Server 2005 Service Pack 3 กับการติดตั้ง SQL Server 2005 Service Pack 3 โดยค่าเริ่มต้น โปรแกรมแก้ไขด่วนใดๆ ที่มีอยู่ในSQL Server Service Pack จะรวมอยู่ในSQL Server Service Pack ถัดไป  

SQL Server 2005 Service Pack 4

การแก้ไขสําหรับปัญหานี้ถูกนําออกใช้ครั้งแรกในการอัปเดตสะสม 1 สําหรับ SQL Server 2005 Service Pack 4

หมายเหตุ เนื่องจากรุ่นเป็นแบบสะสม การแก้ไขใหม่แต่ละรุ่นประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมด และการแก้ไขข้อบกพร่องด้านความปลอดภัยทั้งหมดที่รวมอยู่ในการเผยแพร่การแก้ไขSQL Server 2005 ก่อนหน้า Microsoft ขอแนะนําให้คุณพิจารณาใช้การแก้ไขรุ่นล่าสุดที่ประกอบด้วยโปรแกรมแก้ไขด่วนนี้

คุณต้องใช้โปรแกรมแก้ไขด่วน SQL Server 2005 Service Pack 4 กับการติดตั้ง SQL Server 2005 Service Pack 4 โดยค่าเริ่มต้น โปรแกรมแก้ไขด่วนใดๆ ที่มีอยู่ในSQL Server Service Pack จะรวมอยู่ในSQL Server Service Pack ถัดไป

สถานะ

Microsoft ยืนยันว่าปัญหานี้เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ซึ่งมีการระบุไว้ในส่วน "นำไปใช้กับ"

วิธีแก้ไขปัญหาชั่วคราว

ติดตั้งโปรแกรมแก้ไขด่วนนี้ แล้วเริ่มระบบSQL Serverใหม่อาจปรับปรุงประสิทธิภาพการกู้คืน ตัวอย่างเช่น ประสิทธิภาพการทํางานอาจดีขึ้นสําหรับการทํางานต่อไปนี้หลังจากที่คุณติดตั้งโปรแกรมแก้ไขด่วนนี้ และเริ่มการทํางานใหม่SQL Server:

  • การกู้คืนฐานข้อมูล

  • การมิเรอร์ฐานข้อมูล

  • สแนปช็อตฐานข้อมูล

  • กิจกรรมตัวอ่านบันทึกการจําลองแบบธุรกรรมฐานข้อมูล

หากคุณไม่สามารถติดตั้ง hotfix นี้ คุณสามารถแก้ไขปัญหาชั่วคราวต่อไปนี้เพื่อลดปัญหาที่มีอยู่ และเพื่อป้องกันไม่ให้เกิดในอนาคต

ลดปัญหาที่มีอยู่

  • รอให้การดําเนินการคืนค่าหรือการกู้คืนเสร็จสมบูรณ์ ถ้าคุณมีฐานข้อมูลที่ไม่ได้รับการกู้คืนซึ่งกําลังประสบกับประสิทธิภาพการทํางานที่ช้าลงเมื่อคุณคืนค่าหรือกู้คืนฐานข้อมูล คุณอาจต้องรอให้การดําเนินการคืนค่าหรือการกู้คืนเสร็จสมบูรณ์ ตัวอย่างเช่น คุณอาจเห็นสถานะออฟไลน์หรือสถานะการกู้คืนใน SQL Server Management Studio (SSMS) สําหรับฐานข้อมูลที่ไม่สามารถกู้คืนได้ การหยุดSQL Serverมักจะไม่มีการบรรเทาสําหรับการกู้คืนที่ช้าและอาจใช้เวลามากขึ้นในการทําซ้ําขั้นตอนการวิเคราะห์การกู้คืนระยะทําซ้ําหรือเลิกทําขั้นตอนเดียวกัน

  • หลีกเลี่ยงการคืนค่าลําดับบันทึกทรานแซคชันที่มี VLF หลายพันรายการ ถ้าคุณพบประสิทธิภาพการทํางานที่ช้าในขณะที่คุณคืนค่าและกู้คืนฐานข้อมูลโดยใช้ไฟล์สํารอง คุณสามารถหลีกเลี่ยงการคืนค่าลําดับบันทึกทรานแซคชันที่มี VLFs หลายพันรายการได้ เมื่อต้องการระบุไฟล์สํารองที่มีบันทึกไฟล์บันทึกเสมือนมากที่สุด ให้ใช้คําสั่งต่อไปนี้เพื่อดูคอลัมน์ FirstLSN และ LastLSN ในไฟล์บันทึกการสํารองข้อมูล: RESTORE HEADERONLY FROM DISK='C:\folder\file.trn' คุณสามารถตัดสินใจหลีกเลี่ยงการคืนค่าไฟล์บันทึกสํารองได้ หรือคุณสามารถใช้คําสั่ง STOP AT ในคําสั่ง RESTORE เพื่อหลีกเลี่ยงส่วนที่กระจัดกระจายของบันทึกธุรกรรม ถ้าคุณไม่คืนค่าลําดับแฟ้มบันทึกทั้งหมดจนถึงจุดล่าสุดในระหว่างสถานการณ์การกู้คืนล้มเหลว ข้อมูลสูญหายเกิดขึ้นในฐานข้อมูลของคุณSQL Server การสูญหายของข้อมูลนี้เกิดขึ้นเนื่องจากไม่ได้เก็บธุรกรรมทั้งหมดไว้ ดังนั้นจึงมีการตัดสินใจแลกเปลี่ยนทางธุรกิจ คุณสามารถคืนค่าบันทึกทรานแซคชันที่กระจัดกระจายสูงได้อย่างสมบูรณ์ อย่างไรก็ตาม การดําเนินการนี้อาจใช้เวลาหลายชั่วโมง หรือคุณสามารถใช้คําสั่ง STOP AT ในการกู้คืนเพื่อหยุดการกู้คืนก่อนที่ส่วนที่กระจัดกระจายอย่างมากของบันทึก อย่างไรก็ตาม ธุรกรรมใดๆ ที่หายไปที่คุณละไว้จะสูญหายไปหมายเหตุ โดยไม่ต้องติดตั้งโปรแกรมแก้ไขด่วนนี้ โดยทั่วไปแล้วจะไม่มีแหล่งข้อมูลที่ปลอดภัยสําหรับการกู้คืนด่วนหลังจากที่คุณเริ่มระบบSQL Serverใหม่ SQL Serverต้องค้นหารายการของ VLFs เพื่อวิเคราะห์ไฟล์บันทึก เพื่อทําซ้ําทรานแซคชันที่เสร็จสมบูรณ์ แล้วเลิกทําทรานแซคชันที่ไม่สมบูรณ์เพื่อให้การกู้คืนฐานข้อมูลเป็นแบบออนไลน์ได้อย่างปลอดภัย คุณไม่สามารถข้ามทรานชันระหว่างการกู้คืนได้อย่างปลอดภัย

ป้องกันการเกิดขึ้นในอนาคต

  • ตั้งค่าการเพิ่มการกู้อัตโนมัติของฐานข้อมูลให้มีขนาดที่เหมาะสม หากขนาดของการเพิ่มการกู้อัตโนมัติมีขนาดเล็กเกินไป จะมีไฟล์บันทึกเสมือน (VLF) จํานวนมาก และคุณอาจพบประสิทธิภาพการทํางานที่ช้าในSQL Server ถ้าขนาดของการเพิ่มขึ้นของการขยายอัตโนมัติมีขนาดใหญ่เกินไป คิวรีที่ทําให้บันทึกทรานแซคชันเพิ่มขึ้นโดยอัตโนมัติอาจต้องรอให้การขยายตัวเสร็จสิ้นเป็นเวลานาน ดังนั้น ข้อผิดพลาดการหมดเวลาอาจเกิดขึ้นในSQL Server เมื่อต้องการแก้ไขปัญหาเหล่านี้ คุณสามารถตั้งค่าขนาดของการเพิ่มการลากอัตโนมัติสําหรับฐานข้อมูลของคุณให้มีขนาดที่เหมาะสมได้

  • กําจัด VLF จํานวนมากและใช้การเติบโตด้วยตนเอง ถ้า VLFs จํานวนมากอยู่ในบันทึกธุรกรรม ให้ลดขนาดของบันทึกธุรกรรม และทําให้เพิ่มขึ้นก่อนถึงจุดสูงสุดของธุรกิจเพื่อตอบสนองความต้องการโดยใช้การเติบโตด้วยตนเอง ตัวอย่างเช่น บันทึกทรานแซคชันจะเพิ่มขนาดกลับเป็นขนาดเฉลี่ยที่เหมาะสม ขนาดของบันทึกทรานแซคชันถึงความจุสูงสุด และไฟล์สํารองข้อมูลล็อกได้รับการจัดกําหนดการเป็นประจําและเป็นระยะๆ นอกจากนี้ ล็อกธุรกรรมอาจถูกตัดทอน และ VLFs สําหรับล็อกธุรกรรมสามารถนํามาใช้ใหม่ในรอบ

  • วิธีการย่อและเพิ่มบันทึกธุรกรรมด้วยตนเอง เมื่อต้องการแก้ไขแฟ้มบันทึกที่มี VLF มากเกินไป ให้ทําตามขั้นตอนเหล่านี้เพื่อย่อแฟ้มบันทึกและเพิ่มแฟ้มบันทึกนั้นอีกครั้งด้วยตนเอง:

    1. ถ้าฐานข้อมูลอยู่ในรูปแบบการกู้คืนแบบเต็มหรือแบบบันทึกเป็นกลุ่ม คุณต้องสํารองบันทึกทรานแซคชันเพื่ออนุญาตให้ VLFs ที่ใช้งานอยู่ถูกตัดทอนและนํากลับมาใช้ใหม่ได้ BACKUP LOG databasename to DISK='C:\folder\log_backupfile.trn' สําหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการสํารองแฟ้มบันทึกธุรกรรม โดยใช้ SSMS เยี่ยมชมเว็บไซต์ Microsoft Developer Network (MSDN) ต่อไปนี้:

      วิธีการสํารองข้อมูลไฟล์บันทึกธุรกรรมโดยใช้ SSMSสําหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีสํารองข้อมูลแฟ้มบันทึกทรานแซคชันโดยใช้คําสั่ง Transact-SQL แวะไปเว็บไซต์ต่อไปนี้ของ MSDN:

      วิธีการสํารองข้อมูลแฟ้มบันทึกทรานแซคชันโดยใช้คําสั่ง Transact-SQL

    2. เมื่อต้องการกําหนดชื่อตรรกะของไฟล์ล็อกธุรกรรม ให้เรียกใช้คําสั่งใดคําสั่งหนึ่งต่อไปนี้ใบแจ้งยอด 1 exec sp_helpfile Statement 2 เลือก * จาก sys.sysfiles เพื่อลดขนาดของไฟล์บันทึกธุรกรรมให้เป็นขนาดที่ต้องการ ให้ใช้รหัสต่อไปนี้:DBCC SHRINKFILE(transactionlogicalfilename, TRUNCATEONLY)

    3. คุณสามารถเพิ่มขนาดของแฟ้มล็อกธุรกรรมให้มีขนาดที่เหมาะสมได้ เราขอแนะนําให้คุณเพิ่มขนาดของแฟ้มบันทึกทรานแซคชันให้ใหญ่ขึ้นเป็นขนาดปกติสูงสุด ดังนั้นการเพิ่มการปลูกอัตโนมัติจึงหลีกเลี่ยง เมื่อต้องการตั้งค่าขนาดของบันทึกทรานแซคชัน ให้ใช้หน้า คุณสมบัติของฐานข้อมูล ใน SSMS หรือใช้ไวยากรณ์ของฐานข้อมูล ALTER ต่อไปนี้:MODIFY FILE ( NAME = transactionlogicalfilenae, SIZE=newtotalsize MB) สําหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการเพิ่มขนาดของฐานข้อมูลใน SSMS แวะไปที่เว็บไซต์ MSDN ต่อไปนี้:

      วิธีการเพิ่มขนาดของฐานข้อมูลใน SSMSสําหรับข้อมูลเพิ่มเติมเกี่ยวกับไวยากรณ์ ALTER DATABASE MODIFY FILE แวะไปที่เว็บไซต์ MSDN ต่อไปนี้:

      ข้อมูลทั่วไปเกี่ยวกับไวยากรณ์ ALTER DATABASE MODIFY FILE

ข้อมูลเพิ่มเติม

คุณสามารถตรวจสอบจํานวนของส่วน VLF โดยการตรวจสอบแฟ้มบันทึกข้อผิดพลาด SQL แล้ว โดยการค้นหาหมายเลขลําดับล็อก (LSN) ในแต่ละแฟ้มสํารองข้อมูลบันทึกธุรกรรม ตัวเลขแรกก่อนสัญลักษณ์เครื่องหมายจุดคู่ใน LSN จะสอดคล้องกับจํานวนของ LSNตัวอย่างเช่น ตัวเลขแรกในข้อความให้ข้อมูลข้อความแรกสําหรับ LSN คือ 1 อย่างไรก็ตาม ตัวเลขแรกในข้อความแสดงข้อมูลที่สองสําหรับ LSN จะถูก100001 ในสถานการณ์นี้ มี VLF 100,000 ที่ใช้ระหว่างเวลาของข้อความให้ข้อมูลข้อความแรกและข้อความที่สองที่ให้ข้อมูล ดังนั้น บันทึกทรานแซคชันแบบแยกส่วนที่บันทึกไว้ที่มีไฟล์บันทึกเสมือน (VLF) จํานวนมากมีลักษณะดังต่อไปนี้:  

{Log ถูกสํารองไว้ ฐานข้อมูล: mydbname วันที่สร้าง(เวลา): 2010/07/08(12:36:46), LSN แรก: 1:5068:70, LSN ล่าสุด: 1:5108:1, จํานวนอุปกรณ์การถ่ายโอนข้อมูล: 1, ข้อมูลอุปกรณ์: (FILE=1, TYPE=DISK: {'C:\folder\logbackup1.trn'}) นี่คือข้อความให้ข้อมูลเท่านั้น ไม่จําเป็นต้องดําเนินการใดๆ ของผู้ใช้มีการสํารองข้อมูลแฟ้มบันทึกแล้ว ฐานข้อมูล: mydbname, วันที่สร้าง(เวลา): 2010/07/08(15:36:46), LSN แรก: 100001:5108:1, LSN ล่าสุด: 100002:5108:1, จํานวนอุปกรณ์การถ่ายโอนข้อมูล: 1, ข้อมูลอุปกรณ์: (FILE=2, TYPE=DISK: {'C:\folder\logbackup2.trn'}) นี่คือข้อความให้ข้อมูลเท่านั้น ไม่จําเป็นต้องดําเนินการใดๆ ของผู้ใช้} ตารางต่อไปนี้มีข้อมูลเพิ่มเติมเกี่ยวกับผลิตภัณฑ์หรือเครื่องมือที่จะตรวจสอบเงื่อนไขที่อธิบายไว้ในส่วน "อาการ" โดยอัตโนมัติในอินสแตนซ์ของ SQL Server และในเวอร์ชันของSQL Serverที่มีการประเมินกฎ  

ซอฟต์แวร์กฎ

ชื่อกฎ

คําอธิบายกฎ

เวอร์ชันผลิตภัณฑ์ที่ใช้ประเมินกฎ

โปรแกรมช่วยแนะนําศูนย์ระบบ

SQL Serverกับการจําลองแบบทรานแซคชัน ประสิทธิภาพของตัวแทนโปรแกรมอ่านบันทึกอาจได้รับผลกระทบเนื่องจากขนาดของบันทึกธุรกรรมหรือจํานวนของ VLF

ในโปรแกรมช่วยแนะนําอินสแตนซ์SQL Serverนี้ตรวจพบการจําลองแบบทรานแซคชันการแสดงตนที่มีจํานวน VLF หรือขนาด TLOG มากกว่ามาก ประสิทธิภาพของตัวแทนโปรแกรมอ่านบันทึกจะได้รับผลกระทบในทางลบตามขนาดของบันทึกทรานแซคชันหรือจํานวน VLF ลดขนาดบันทึกทรานแซคชันและจํานวน VLF เพื่อปรับปรุงประสิทธิภาพของตัวแทนตัวอ่านบันทึก

SQL Server 2008 SQL Server 2008 R2 SQL Server 2012

 

อ้างอิง

สําหรับข้อมูลเพิ่มเติมเกี่ยวกับสถาปัตยกรรมทางกายภาพของบันทึกธุรกรรม แวะไปที่เว็บไซต์ MSDN ต่อไปนี้:

ข้อมูลทั่วไปเกี่ยวกับสถาปัตยกรรมทางกายภาพของบันทึก ธุรกรรม สําหรับข้อมูลเพิ่มเติมเกี่ยวกับหมายเลขลําดับแฟ้มบันทึก (LSN) แวะไปที่เว็บไซต์ต่อไปนี้ของ MSDN:

ข้อมูลทั่วไปเกี่ยวกับหมายเลข ลําดับล็อก สําหรับข้อมูลเพิ่มเติมเกี่ยวกับข้อผิดพลาด 1413 เมื่อเริ่มการมิเรอร์ฐานข้อมูล แวะไปที่เว็บไซต์ MSDN ต่อไปนี้:

ข้อมูลทั่วไปเกี่ยวกับข้อผิดพลาด 1413 เมื่อการมิเรอร์ฐานข้อมูลเริ่มขึ้น สําหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีที่โครงสร้างไฟล์บันทึกสามารถส่งผลกระทบต่อเวลาการกู้คืนฐานข้อมูล แวะไปที่เว็บไซต์ MSDN ต่อไปนี้:

โครงสร้างไฟล์บันทึกอาจส่งผลต่อเวลา ในการกู้คืนฐานข้อมูลอย่างไร สําหรับข้อมูลเพิ่มเติมเกี่ยวกับบันทึกทรานแซคชัน VLFs แวะไปที่เว็บไซต์ต่อไปนี้ของ MSDN:

ข้อมูลทั่วไปเกี่ยวกับไฟล์ ล็อกธุรกรรม สําหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการสร้างสแนปช็อตฐานข้อมูล แวะไปที่เว็บไซต์ MSDN ต่อไปนี้:

วิธีสร้างสแนปช็อตฐานข้อมูลสําหรับข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบการให้บริการแบบเพิ่มเติมสําหรับSQL Server ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความใน Microsoft Knowledge Base:

935897 รูปแบบการให้บริการแบบเพิ่มเติมจะพร้อมใช้งานจากทีมSQL Serverเพื่อส่งการแก้ไขด่วนสําหรับปัญหาที่รายงานสําหรับข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบการตั้งชื่อสําหรับการอัปเดตSQL Server ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความใน Microsoft Knowledge Base:

822499รูปแบบการตั้งชื่อใหม่สําหรับแพคเกจอัปเดตซอฟต์แวร์ของ Microsoft SQL Serverสําหรับข้อมูลเพิ่มเติมเกี่ยวกับคําศัพท์เฉพาะของการอัปเดตซอฟต์แวร์ ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความใน Microsoft Knowledge Base:

824684 คําอธิบายเกี่ยวกับคําศัพท์มาตรฐานที่ใช้เพื่ออธิบายการอัปเดตซอฟต์แวร์ของ Microsoft

ต้องการความช่วยเหลือเพิ่มเติมหรือไม่

ต้องการตัวเลือกเพิ่มเติมหรือไม่

สํารวจสิทธิประโยชน์ของการสมัครใช้งาน เรียกดูหลักสูตรการฝึกอบรม เรียนรู้วิธีการรักษาความปลอดภัยอุปกรณ์ของคุณ และอื่นๆ