นำไปใช้กับ
SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Web SQL Server 2008 R2 Standard SQL Server 2008 R2 Express SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Express SQL Server 2012 Standard SQL Server 2012 Web

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

อาการ

อาจใช้เวลานานในการคืนค่าฐานข้อมูลใน Microsoft SQL Server 2008 R2 หรือใน Microsoft SQL Server 2008 หรือใน Microsoft SQL Server 2012

สาเหตุ

ปัญหานี้เกิดขึ้นเนื่องจากใช้เวลานานในการสร้างรายการแฟ้มบันทึกเสมือน (VLF) เมื่อมี VLF จํานวนมากในฐานข้อมูล

การแก้ไข

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

SQL Server 2012

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

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

2692828 SQL Server รุ่น 2012 ที่เผยแพร่หลังจากการเผยแพร่ SQL Server 2012 คุณต้องใช้โปรแกรมแก้ไขด่วน SQL Server 2012 การติดตั้ง SQL Server 2012

SQL Server 2008 Service Pack 2

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

2648096 แพคเกจการอัปเดตสะสม 8 สําหรับ SQL Server 2008 Service Pack 2Note เนื่องจากรุ่นต่างๆ เป็นแบบสะสม การเผยแพร่การแก้ไขใหม่แต่ละครั้งจะมีการแก้ไขด่วนทั้งหมดและการแก้ไขข้อบกพร่องด้านความปลอดภัยทั้งหมดที่รวมอยู่ในการเผยแพร่การแก้ไข 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 2008 Service Pack 3

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

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

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

แพคเกจการอัปเดตสะสม 11 สําหรับ SQL Server 2008 R2

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

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

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

แพคเกจการอัปเดตสะสม 4 สําหรับ SQL Server 2008 R2 SP1

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

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

2567616 รุ่น SQL Server 2008 R2 ที่เผยแพร่หลังจากเปิดตัว SQL Server 2008 R2 SP1

สถานะ

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

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

คุณสามารถตรวจสอบจํานวนของส่วน VLF โดยการตรวจสอบแฟ้มบันทึกข้อผิดพลาด SQL แล้ว โดยการค้นหาหมายเลขลําดับล็อก (LSN) ในแต่ละแฟ้มสํารองข้อมูลบันทึกธุรกรรม ตัวเลขแรกก่อนสัญลักษณ์เครื่องหมายจุดคู่ใน LSN จะสอดคล้องกับจํานวนของ LSNตัวอย่างเช่น ตัวเลขแรกในข้อความให้ข้อมูลข้อความแรกสําหรับ LSN คือ 1 อย่างไรก็ตาม ตัวเลขแรกในข้อความแสดงข้อมูลที่สองสําหรับ LSN จะถูก 100001 ในสถานการณ์นี้ มี VLF 100,000 ที่ใช้ระหว่างเวลาของข้อความให้ข้อมูลข้อความแรกและข้อความที่สองที่ให้ข้อมูล ดังนั้น บันทึกทรานแซคชันแบบแยกส่วนที่บันทึกไว้ที่มี Files Virtual Log (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'}) นี่คือข้อความให้ข้อมูลเท่านั้น ไม่จําเป็นต้องดําเนินการใดๆ ของผู้ใช้}

อ้างอิง

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

ข้อมูลทั่วไปเกี่ยวกับหมายเลขลําดับล็อก

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

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

ข้อมูลทั่วไปเกี่ยวกับไฟล์ล็อกธุรกรรม

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

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

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

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

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

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