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 มากเกินไป ให้ทําตามขั้นตอนเหล่านี้เพื่อย่อแฟ้มบันทึกและเพิ่มแฟ้มบันทึกนั้นอีกครั้งด้วยตนเอง:-
ถ้าฐานข้อมูลอยู่ในรูปแบบการกู้คืนแบบเต็มหรือแบบบันทึกเป็นกลุ่ม คุณต้องสํารองบันทึกทรานแซคชันเพื่ออนุญาตให้ VLFs ที่ใช้งานอยู่ถูกตัดทอนและนํากลับมาใช้ใหม่ได้ BACKUP LOG databasename to DISK='C:\folder\log_backupfile.trn'
สําหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการสํารองแฟ้มบันทึกธุรกรรม โดยใช้ SSMS เยี่ยมชมเว็บไซต์ Microsoft Developer Network (MSDN) ต่อไปนี้:วิธีการสํารองข้อมูลไฟล์บันทึกธุรกรรมโดยใช้ SSMSสําหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีสํารองข้อมูลแฟ้มบันทึกทรานแซคชันโดยใช้คําสั่ง Transact-SQL แวะไปเว็บไซต์ต่อไปนี้ของ MSDN:
วิธีการสํารองข้อมูลแฟ้มบันทึกทรานแซคชันโดยใช้คําสั่ง Transact-SQL
-
เมื่อต้องการกําหนดชื่อตรรกะของไฟล์ล็อกธุรกรรม ให้เรียกใช้คําสั่งใดคําสั่งหนึ่งต่อไปนี้
ใบแจ้งยอด 1
exec sp_helpfile Statement 2
เลือก * จาก sys.sysfiles เพื่อลดขนาดของไฟล์บันทึกธุรกรรมให้เป็นขนาดที่ต้องการ ให้ใช้รหัสต่อไปนี้:DBCC SHRINKFILE(transactionlogicalfilename, TRUNCATEONLY) -
คุณสามารถเพิ่มขนาดของแฟ้มล็อกธุรกรรมให้มีขนาดที่เหมาะสมได้ เราขอแนะนําให้คุณเพิ่มขนาดของแฟ้มบันทึกทรานแซคชันให้ใหญ่ขึ้นเป็นขนาดปกติสูงสุด ดังนั้นการเพิ่มการปลูกอัตโนมัติจึงหลีกเลี่ยง เมื่อต้องการตั้งค่าขนาดของบันทึกทรานแซคชัน ให้ใช้หน้า คุณสมบัติของฐานข้อมูล ใน SSMS หรือใช้ไวยากรณ์ของฐานข้อมูล ALTER ต่อไปนี้:MODIFY FILE ( NAME = transactionlogicalfilenae, SIZE=newtotalsize MB)
สําหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการเพิ่มขนาดของฐานข้อมูลใน SSMS แวะไปที่เว็บไซต์ MSDN ต่อไปนี้:วิธีการเพิ่มขนาดของฐานข้อมูลใน SSMSสําหรับข้อมูลเพิ่มเติมเกี่ยวกับไวยากรณ์ ALTER DATABASE MODIFY FILE แวะไปที่เว็บไซต์ MSDN ต่อไปนี้:
-
ข้อมูลเพิ่มเติม
คุณสามารถตรวจสอบจํานวนของส่วน 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 |
อ้างอิง
สําหรับข้อมูลเพิ่มเติมเกี่ยวกับสถาปัตยกรรมทางกายภาพของบันทึกธุรกรรม แวะไปที่เว็บไซต์ 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