การแก้ไข: ประสิทธิภาพช้าเมื่อคุณกู้คืนฐานข้อมูลถ้ามีหลาย VLFs ภายในล็อกธุรกรรม ใน SQL Server 2005, SQL Server 2008 หรือ ใน SQL Server 2008 R2

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 2455009 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
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 บนคอมพิวเตอร์
  • มีอย่างน้อยหนึ่งฐานข้อมูลอยู่ในแบบจำลองการกู้คืนแบบเต็ม หรือ บันทึกขนาดใหญ่
  • ขนาดเริ่มต้นของแฟ้มล็อกธุรกรรมสำหรับฐานข้อมูลมีขนาดเล็ก อย่างไรก็ตาม แฟ้มธุรกรรมขยายขนาดใหญ่
  • ที่ ขยายอัตโนมัติ เพิ่มขนาดของแฟ้มล็อกธุรกรรมมีการกำหนดค่าให้มีขนาดเล็ก ตัวอย่างเช่น การ ขยายอัตโนมัติ เพิ่มการเติบโตถูกกำหนดค่า เพื่อเมกะ ไบต์หนึ่ง หรือหนึ่งเปอร์เซ็นต์ ขึ้น คุณทำให้แฟ้มล็อกธุรกรรมเพิ่ม โดยใช้มีขนาดเล็กเติบโตด้วยตนเอง
  • แฟ้มล็อกธุรกรรมขยาย โดยการเพิ่มขนาดเล็ก หลังจากชั่วขณะ แฟ้มล็อกธุรกรรมมีขนาดใหญ่

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

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

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

    หมายเหตุ สำหรับข้อมูลเพิ่มเติม โปรดเยี่ยมชมเว็บไซต์ Microsoft Developer Network (MSDN) ต่อไปนี้:
    949523 เวลาแฝงของการจำลองแบบทรานแซคชันจะสูงใน SQL Server 2005 เมื่อค่าของคุณสมบัติ "ขนาดเริ่มต้น" และค่าของคุณสมบัติเพิ่มขึ้นโดยอัตโนมัติเป็นขนาดเล็ก
  • ประสิทธิภาพการทำงานที่ช้าลงเกิดขึ้นเมื่อมีสร้างสแนปช็อตฐานข้อมูล ถ้าธุรกรรมจำนวนมากที่เข้าสู่ระบบ หรือล็อกธุรกรรมยังคงอยู่ที่ใช้งานอยู่เป็นเวลานาน ปัญหานี้เกิดขึ้นเนื่องจากมีสแนปช็อตจะเรียกใช้การกู้คืน และล็อกธุรกรรมมีการย้อนกลับ
  • ประสิทธิภาพการทำงานที่ช้าลงเกิดขึ้นเมื่อคุณใช้การ DBCC CHECKDB ตรวจสอบไวยากรณ์ที่ใช้สร้าง snapshot ของฐานข้อมูลที่ซ่อนอยู่ที่มีการกู้คืนการสแนปช็อตฐานข้อมูลเพื่อเรียกใช้ความสอดคล้องอย่างสมบูรณ์ หรือไม่

สาเหตุ

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

หมายเหตุ การ VLFs เป็นส่วนหรือเซ็กเมนต์ที่ใช้เป็นการภายใน โดย SQL Server ในแฟ้มล็อกธุรกรรม

การแก้ไข

ข้อมูลการปรับปรุงสะสม

SQL Server 2008 R2

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

SQL Server 2008 Service Pack 1

ก่อนการแก้ไขสำหรับปัญหานี้ถูกออกใน 12 ปรับปรุงสะสมสำหรับ SQL Server 2008 Service Pack 1 สำหรับข้อมูลเพิ่มเติมเกี่ยวกับแพคเกจโปรแกรมปรับปรุงนี้ คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
2467236 แพคเกจโปรแกรมปรับปรุงที่สะสม 12 สำหรับ SQL Server 2008 Service Pack 1
หมายเหตุ เนื่องจากรุ่นเป็นแบบสะสม แต่ละรุ่นแก้ไขใหม่ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมด และแก้ไขการรักษาความปลอดภัยทั้งหมดที่ถูกรวมกับ SQL Server 2008 ก่อนหน้านี้แก้ไขปัญหาการนำออกใช้ Microsoft ขอแนะนำว่า คุณควรพิจารณาใช้การแก้ไขที่นำออกใช้ล่าสุดที่ประกอบด้วยโปรแกรมแก้ไขด่วนนี้ สำหรับข้อมูลเพิ่มเติม คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
970365 สร้าง SQL Server 2008 ที่เปิดตัวหลังจากเปิดตัว SQL Server 2008 Service Pack 1
โปรแกรมแก้ไขด่วนของ Microsoft SQL Server 2008 จะถูกสร้างขึ้นสำหรับ SQL Server service packs เฉพาะ คุณต้องใช้โปรแกรมแก้ไขด่วนของ SQL Server 2008 Service Pack 1 เพื่อการติดตั้ง SQL Server 2008 Service Pack 1 โดยค่าเริ่มต้น โปรแกรมแก้ไขด่วนที่มีให้ในเซอร์วิสแพ็ค SQL Server จะรวมอยู่ใน service pack ถัดไปของ SQL Server

SQL Server 2008 Service Pack 2

ก่อนการแก้ไขสำหรับปัญหานี้ถูกออกใน 2 ปรับปรุงสะสมสำหรับ SQL Server 2008 Service Pack 2 สำหรับข้อมูลเพิ่มเติมเกี่ยวกับแพคเกจโปรแกรมปรับปรุงนี้ คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
2467239 แพคเกจโปรแกรมปรับปรุงที่สะสม 2 สำหรับ SQL Server 2008 Service Pack 2
หมายเหตุ เนื่องจากรุ่นเป็นแบบสะสม แต่ละรุ่นแก้ไขใหม่ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมด และแก้ไขการรักษาความปลอดภัยทั้งหมดที่ถูกรวมกับ SQL Server 2008 ก่อนหน้านี้แก้ไขปัญหาการนำออกใช้ Microsoft ขอแนะนำว่า คุณควรพิจารณาใช้การแก้ไขที่นำออกใช้ล่าสุดที่ประกอบด้วยโปรแกรมแก้ไขด่วนนี้ สำหรับข้อมูลเพิ่มเติม คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
2402659 สร้าง SQL Server 2008 ที่เปิดตัวหลังจากเปิดตัว SQL Server 2008 Service Pack 2
โปรแกรมแก้ไขด่วนของ Microsoft SQL Server 2008 จะถูกสร้างขึ้นสำหรับ SQL Server service packs เฉพาะ คุณต้องใช้โปรแกรมแก้ไขด่วนของ SQL Server 2008 Service Pack 2 กับการติดตั้ง SQL Server 2008 Service Pack 2 โดยค่าเริ่มต้น โปรแกรมแก้ไขด่วนที่มีให้ในเซอร์วิสแพ็ค SQL Server จะรวมอยู่ใน service pack ถัดไปของ SQL Server

SQL Server 2005 Service Pack 3

ก่อนการแก้ไขสำหรับปัญหานี้ถูกออกใน 13 การปรับปรุงสะสมสำหรับ SQL Server 2005 Service Pack 3 สำหรับข้อมูลเพิ่มเติมเกี่ยวกับแพคเกจโปรแกรมปรับปรุงนี้ คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
2438344 แพคเกจโปรแกรมปรับปรุงที่สะสม 13 สำหรับ SQL Server 2005 Service Pack 3
หมายเหตุ เนื่องจากรุ่นเป็นแบบสะสม แต่ละรุ่นแก้ไขใหม่ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมด และแก้ไขการรักษาความปลอดภัยทั้งหมดที่ถูกรวมกับ SQL Server 2005 ก่อนหน้านี้แก้ไขปัญหาการนำออกใช้ Microsoft ขอแนะนำว่า คุณควรพิจารณาใช้การแก้ไขที่นำออกใช้ล่าสุดที่ประกอบด้วยโปรแกรมแก้ไขด่วนนี้ สำหรับข้อมูลเพิ่มเติม คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
960598 สร้าง SQL Server 2005 ที่เปิดตัวหลังจากเปิดตัว SQL Server 2005 Service Pack 3
โปรแกรมแก้ไขด่วนของ Microsoft SQL Server 2005 จะถูกสร้างขึ้นสำหรับ SQL Server service packs เฉพาะ คุณต้องใช้โปรแกรมแก้ไขด่วนของ SQL Server 2005 Service Pack 3 เมื่อต้องการการติดตั้ง SQL Server 2005 Service Pack 3 โดยค่าเริ่มต้น โปรแกรมแก้ไขด่วนที่มีให้ในเซอร์วิสแพ็ค SQL Server จะรวมอยู่ใน service pack ถัดไปของ SQL Server

SQL Server 2005 Service Pack 4

ก่อนการแก้ไขสำหรับปัญหานี้ถูกออกใน 1 การปรับปรุงสะสมสำหรับ SQL Server 2005 Service Pack 4 สำหรับข้อมูลเพิ่มเติมเกี่ยวกับแพคเกจโปรแกรมปรับปรุงนี้ คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
2464079 แพคเกจโปรแกรมปรับปรุงสะสม 1 สำหรับ SQL Server 2005 Service Pack 4
หมายเหตุ เนื่องจากรุ่นเป็นแบบสะสม แต่ละรุ่นแก้ไขใหม่ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมด และแก้ไขการรักษาความปลอดภัยทั้งหมดที่ถูกรวมกับ SQL Server 2005 ก่อนหน้านี้แก้ไขปัญหาการนำออกใช้ Microsoft ขอแนะนำว่า คุณควรพิจารณาใช้การแก้ไขที่นำออกใช้ล่าสุดที่ประกอบด้วยโปรแกรมแก้ไขด่วนนี้ สำหรับข้อมูลเพิ่มเติม คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
2485757 สร้าง SQL Server 2005 ที่เปิดตัวหลังจากเปิดตัว SQL Server 2005 Service Pack 4
โปรแกรมแก้ไขด่วนของ Microsoft SQL Server 2005 จะถูกสร้างขึ้นสำหรับ SQL Server service packs เฉพาะ คุณต้องใช้โปรแกรมแก้ไขด่วนของ SQL Server 2005 Service Pack 4 เพื่อการติดตั้งของ SQL Server 2005 Service Pack 4 โดยค่าเริ่มต้น โปรแกรมแก้ไขด่วนที่มีให้ในเซอร์วิสแพ็ค SQL Server จะรวมอยู่ใน service pack ถัดไปของ SQL Server

สถานะ

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

การหลีกเลี่ยงปัญหา

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

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

บรรเทาปัญหาที่มีอยู่

  • รอให้คืนค่าหรือการดำเนินการกู้คืนข้อมูลให้เสร็จสมบูรณ์

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

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

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

    หมายเหตุ โดยไม่ต้องติดตั้งโปรแกรมแก้ไขด่วนนี้ มีอยู่โดยทั่วไปไม่มี recourse ที่ปลอดภัยสำหรับการกู้คืนการเร่งหลังจากที่คุณเริ่มการทำงานของ SQL Server SQL Server ได้เมื่อต้องการค้นหารายการของ VLFs เพื่อวิเคราะห์แฟ้มบันทึก ธุรกรรมซ้ำเสร็จสมบูรณ์ จากนั้นยกเลิกธุรกรรมที่ไม่สมบูรณ์จะเสร็จสิ้นการกู้คืนเพื่อนำฐานข้อมูลแบบออนไลน์อย่างปลอดภัย คุณไม่สามารถข้ามธุรกรรมระหว่างการกู้คืนอย่างปลอดภัย

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

  • การตั้งค่าการเพิ่มขยายอัตโนมัติของฐานข้อมูลให้มีขนาดที่เหมาะสม

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

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

    เมื่อต้องการแก้ไขแฟ้มบันทึกที่มี VLFs มากเกินไป ให้ทำตามขั้นตอนเหล่านี้เพื่อลดขนาดแฟ้มบันทึก และเพิ่มอีกครั้งด้วยตนเอง:
    1. ถ้าเป็นฐานข้อมูลในรูปแบบการกู้คืนแบบเต็ม หรือ บันทึกขนาดใหญ่ คุณจำเป็นต้องสำรองข้อมูลล็อกธุรกรรมจะอนุญาตให้สำหรับ VLFs ใช้งานอยู่ จะถูกตัดทอน และสามารถนำมาใช้ใหม่
      BACKUP LOG databasename TO DISK='C:\folder\log_backupfile.trn'

      สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการสำรองข้อมูลแฟ้มล็อกธุรกรรม โดยใช้ SSMS แวะไปเว็บไซต์ Microsoft Developer Network (MSDN) ต่อไปนี้:สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการสำรองข้อมูลแฟ้มล็อกธุรกรรม โดยใช้คำสั่ง SQL คำสั่งกลุ่ม แวะไปเว็บไซต์ MSDN ต่อไปนี้:
    2. การตรวจสอบแฟ้มล็อกธุรกรรมชื่อทางตรรกะ รันการคำสั่งต่อไปนี้อย่างใดอย่างหนึ่ง
      คำสั่งที่ 1
      exec sp_helpfile 
      คำสั่งที่ 2
      select * from sys.sysfiles 
      เมื่อต้องการลดขนาดของแฟ้มล็อกธุรกรรม ขนาดที่ต้องใช้รหัสต่อไปนี้:
      DBCC SHRINKFILE(transactionloglogicalfilename, TRUNCATEONLY) 
    3. คุณสามารถเพิ่มขนาดของแฟ้มล็อกธุรกรรมจะมีขนาดที่เหมาะสม เราขอแนะนำว่า ให้ขนาดของแฟ้มล็อกธุรกรรมขยายให้มีขนาดปกติสูงสุด ดังนั้น ขยายอัตโนมัติ หลีกเลี่ยงการเพิ่มขึ้นคือ เมื่อต้องการตั้งค่าขนาดของล็อกธุรกรรม ใช้หน้าคุณสมบัติของฐานข้อมูลใน SSMS หรือใช้ต่อไปนี้ ดัดแปลงฐานข้อมูล ไวยากรณ์:
      MODIFY FILE ( NAME = transactionloglogicalfilenae, SIZE=newtotalsize MB) 

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

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

คุณสามารถตรวจสอบหมายเลขของเซ็กเมนต์ VLF โดยตรวจดูแฟ้มบันทึกข้อผิดพลาด SQL แล้ว ตามด้วยการค้นหาหมายเลขลำดับของล็อก (LSN) ในแต่ละแฟ้มสำรองข้อมูลล็อกธุรกรรม ตัวเลขแรกก่อนสัญลักษณ์เครื่องหมายจุดคู่ใน LSNs สอดคล้องกับจำนวน LSN

ตัวอย่างเช่น หมายเลขแรกในข้อความแรกที่ให้ข้อมูลสำหรับ LSN อยู่1 อย่างไรก็ตาม หมายเลขแรกในข้อความเพื่อให้ข้อมูลสองสำหรับ LSN เป็น100001 ในสถานการณ์สมมตินี้ คือ 100000 VLFs ที่ใช้ระหว่างเวลา ของข้อความแรกให้ข้อมูล และข้อความเพื่อให้ข้อมูลสอง มีดังนั้น ล็อกธุรกรรมมีการกระจายตัวล็อกที่มากเสมือนปูม (VLFs) ที่มีลักษณะต่อไปนี้:

{ล็อกถูกสำรองไว้ ฐานข้อมูล: mydbname, date(time) การสร้าง: 2010/07/08(12:36:46), LSN แรก: 1:5068:70, LSN ครั้งล่าสุด: 1:5108:1 จำนวนอุปกรณ์ที่ถ่ายโอนข้อมูล: 1 ข้อมูลของอุปกรณ์: (แฟ้ม = 1 ชนิด =ดิสก์: {'C:\folder\logbackup1.trn' }) นี่คือข้อความเพื่อให้ข้อมูลเท่านั้น ไม่มีการกระทำของผู้ใช้ที่ถูกต้อง

แฟ้มบันทึกถูกสำรอง ฐานข้อมูล: mydbname, date(time) การสร้าง: 2010/07/08(15:36:46), LSN แรก: 100001:5108:1, LSN ครั้งล่าสุด: 100002:5108:1 จำนวนอุปกรณ์ที่ถ่ายโอนข้อมูล: 1 ข้อมูลของอุปกรณ์: (แฟ้ม = 2 ชนิด =ดิสก์: {'C:\folder\logbackup2.trn' }) นี่คือข้อความเพื่อให้ข้อมูลเท่านั้น การกระทำของผู้ใช้ไม่ถูกต้อง}

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

ยุบตารางนี้ขยายตารางนี้
ซอฟต์แวร์ของกฎชื่อเรื่องของกฎคำอธิบายกฎรุ่นผลิตภัณฑ์ที่จะถูกประเมินกฎ
โปรแกรมช่วยแนะนำศูนย์ระบบSQL Server มีการจำลองแบบของทรานแซคชัน แทนตัวอ่านล็อกประสิทธิภาพอาจได้รับผลกระทบเนื่องจากขนาดของบันทึกธุรกรรมหรือจำนวนของ VLFในอินสแตนซ์ของ SQL Server นี้ โปรแกรมช่วยแนะนำการจำลองแบบสถานะทรานแซคชัน มีหมายเลขของ VLFs หรือ 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:
935897 แบบจำลองแบบเพิ่มหน่วยให้บริการพร้อมใช้งานจากทีม SQL Server จะจัดส่งโปรแกรมแก้ไขด่วนสำหรับปัญหาที่รายงาน
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับแบบแผนการตั้งชื่อสำหรับการปรับปรุง SQL Server คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
822499แบบแผนการตั้งชื่อใหม่สำหรับแพคเกจปรับปรุงซอฟต์แวร์ของ Microsoft SQL Server
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับคำศัพท์ของการปรับปรุงซอฟต์แวร์ ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft
824684 คำอธิบายเกี่ยวกับคำศัพท์เฉพาะทางมาตรฐานที่ใช้เพื่ออธิบายชุดปรับปรุงซอฟต์แวร์ของ Microsoft

คุณสมบัติ

หมายเลขบทความ (Article ID): 2455009 - รีวิวครั้งสุดท้าย: 7 มกราคม 2557 - Revision: 2.0
ใช้กับ
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL 2005 Server Enterprise
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Evaluation Edition
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Standard Edition for Small Business
  • Microsoft SQL Server 2008 Workgroup
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Workgroup
Keywords: 
kbqfe kbfix kbexpertiseadvanced kbsurveynew kbmt KB2455009 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:2455009

ให้ข้อเสนอแนะ

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com