การแก้ไข: ช้าซิงโครไนซ์เมื่อดิสก์มีขนาดเซกเตอร์ที่แตกต่างกันสำหรับแฟ้มบันทึกแบบจำลองหลัก และรองในสภาพแวดล้อม AG เซิร์ฟเวอร์ SQL และ Logshipping

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

ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:3009974
หมายเหตุ
หมายเหตุ หลังจากที่คุณใช้โปรแกรมแก้ไขด่วนนี้ คุณต้องเปิดใช้งานการสืบค้นกลับค่าสถานะ 1800 บนเซิร์ฟเวอร์ทั้งหมดเพื่อทำให้โปรแกรมแก้ไขด่วนนี้ทำงานได้อย่างถูกต้อง
อาการ
พิจารณาสถานการณ์สมมติต่อไปนี้:
  • คุณเปิดใช้งานคุณลักษณะกลุ่มความพร้อมใช้งานตลอดเวลาหรือ Logshipping ใน Microsoft SQL Server 2012 หรือ 2014 เซิร์ฟเวอร์ SQL
  • ดิสก์ที่เก็บแฟ้มบันทึกของแบบจำลองหลัก และรองในกลุ่มการมีพร้อมใช้งานผิดตลอดเวลา (AG) มีขนาดเซกเตอร์ที่แตกต่างกัน หรือในสภาพแวดล้อม Logshipping ว่า ที่เก็บล็อกแฟ้มสำหรับเซิร์ฟเวอร์หลัก Logshipping และเซิร์ฟเวอร์รอง Logshipping ดิสก์มีขนาดเซกเตอร์ที่แตกต่างกัน ตัวอย่างเช่น
    • แบบจำลองหลักล็อกไฟล์จะอยู่บนดิสก์ที่มีเซกเตอร์ขนาด 512 ไบต์ อย่างไรก็ตาม จำลองรองล็อกไฟล์จะอยู่บนดิสก์ที่มีเซกเตอร์ขนาด 4 กิโลไบต์ (KB)
    • ล็อกไฟล์แบบจำลองหลักจะอยู่บนระบบเฉพาะที่มีในสถานที่มีเซกเตอร์ขนาด 512 ไบต์ อย่างไรก็ตาม แบบจำลองรองจะอยู่บนดิสก์แบบจัดเก็บ Azure ของ Windows ที่มีเซกเตอร์ขนาด 4 กิโลไบต์ (KB)
ในสถานการณ์สมมตินี้ ข้อความแสดงข้อผิดพลาดต่อไปนี้ถูกบันทึกไว้ในล็อกข้อผิดพลาดของเซิร์ฟเวอร์ SQL:

มี X misaligned ล็อก IOs ที่จำเป็นอยู่กลับไป IO แบบซิงโครนัส IO ปัจจุบันอยู่บนแฟ้ม...

นอกจากนี้ AG หรือ Logshipping ซิงโครไนซ์ทำงานช้ามากเนื่องจาก มีการรับเข้า/ส่งออกแบบซิงโครนัส ถ้าแบบจำลองรองใน Windows Azure เก็บ จะยาวมากเกินกว่าที่คาดว่าจะเสร็จสิ้นกระบวนการซิงโครไนส์หรือไม่

หมายเหตุ ปัญหานี้เกิดขึ้นเมื่อคุณใช้ทั้งไดรฟ์ที่มีเซกเตอร์ 4 KB ขนาดใหม่และเก่าไดรฟ์ที่มีเซกเตอร์ 512 ไบต์ขนาด สำหรับข้อมูลเพิ่มเติมเกี่ยวกับไดรฟ์ใหม่ ดู SQL Server - ใหม่ไดรฟ์ขนาดเซกเตอร์ใช้ 4K และ SQL Server – เก็บช่อง ว่าง/VHDx และขนาดของเซกเตอร์ 4K.
การแก้ไข
ปัญหาถูกก่อนมีแก้ไขในการปรับปรุงสะสมต่อไปนี้ของ SQL Server

ปรับปรุงสะสม 5 สำหรับ SQL Server 2014

ปรับปรุงสะสม 3 สำหรับ SQL Server 2012 SP2

ปรับปรุงสะสม 13 สำหรับ SQL Server 2012 SP1

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

หางของแฟ้มบันทึกสำหรับฐานข้อมูล 'ชื่อฐานข้อมูล>' จะถูกเขียนขึ้นเพื่อให้ตรงกับขนาดเซกเตอร์ใหม่นั่น

นี่คือข้อความที่ให้ข้อมูลที่สามารถละเว้นได้อย่างปลอดภัย

เกี่ยวกับการปรับปรุงสะสมสำหรับ SQL Server

แต่ละโปรแกรมปรับปรุงสะสมใหม่สำหรับ SQL Server ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมด และทั้งหมดที่แก้ไขความปลอดภัยที่ถูกรวมอยู่ในการปรับปรุงที่สะสมก่อนหน้านี้ ดูการปรับปรุงสะสมล่าสุดสำหรับ SQL Server:

การหลีกเลี่ยงปัญหา
เมื่อต้องการหลีกเลี่ยงปัญหานี้ ย้ายแฟ้มล็อกธุรกรรมที่ปลายทางไปยังไดรฟ์ที่มีการตั้งค่าเป็นไบต์ 512ไบต์ต่อเซกเตอร์กายภาพ
สถานะ
Microsoft ยืนยันว่านี่เป็นปัญหาในผลิตภัณฑ์ของ Microsoft ซึ่งแสดงไว้ในส่วน "นำไปใช้กับ"
ข้อมูลเพิ่มเติม
เป็นแนวทางปฏิบัติที่ดีที่สุด ลองเพื่อให้แน่ใจว่า ดิสก์ทั้งหมดในแบบจำลองทั้งหมด (อย่างน้อยดิสก์ทั้งหมดที่โฮสต์แฟ้มบันทึก) มีเซกเตอร์ขนาดเดียวกัน ในสภาพแวดล้อมแบบผสม ที่รองมีเซกเตอร์กายภาพที่ 512 ไบต์ และหลักมีเซกเตอร์ขนาด 4 กิโลไบต์ TF 1800 ควรใช้เมื่อเริ่มต้นการตั้งค่าสถานะบนเซิร์ฟเวอร์ทั้งหมด (โดยเฉพาะเซิร์ฟเวอร์ที่มีเซกเตอร์กายภาพขนาด 512 ไบต์) ที่สามารถเปลี่ยนเป็นบทบาทหลัก ซึ่งช่วยให้แน่ใจว่า รูปแบบการสร้างแฟ้มบันทึกอย่างต่อเนื่องใช้เซกเตอร์ 4 KB ขนาด

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการที่ SQL Server ทำงานกับขนาดเซกเตอร์ขนาดใหญ่ ดูดังต่อไปนี้ลงในบล็อกสนับสนุน:

SQL Server – เก็บช่อง ว่าง/VHDx และขนาดของเซกเตอร์ 4K

คุณสามารถใช้ โปรแกรมอรรถประโยชน์การพรอมต์คำสั่ง Fsutil เมื่อต้องการกำหนดค่าไบต์ต่อเซกเตอร์กายภาพ พารามิเตอร์นี้ไม่ปรากฏในผลลัพธ์ของแบบ คุณต้องใช้โปรแกรมแก้ไขด่วนที่ระบุไว้ใน บทความ KB 982018.

เมื่อต้องการตรวจสอบชนิดของไดรฟ์ที่คุณมี ให้ทำตามขั้นตอนเหล่านี้:
  1. เรียกใช้คำสั่งต่อไปนี้ในพร้อมท์คำสั่งที่ยกระดับขึ้น:
    Fsutil fsinfo ntfsinfo x:
    หมายเหตุ ตัวยึดตำแหน่ง x หมายถึงไดรฟ์ที่ว่างเปล่า
  2. ใช้ค่าของไบต์ต่อเซกเตอร์และไบต์ต่อเซกเตอร์กายภาพเพื่อกำหนดชนิดของไดรฟ์ที่คุณมี เมื่อต้องการทำเช่นนี้ ใช้ตารางต่อไปนี้:
    ค่า "ไบต์ต่อเซกเตอร์"ค่า "ไบต์ต่อเซกเตอร์กายภาพ"ประเภทของไดรฟ์
    409640964K ดั้งเดิม
    5124096รูปแบบขั้นสูง (หรือที่เรียกอีกอย่างหนึ่งว่า 512E)
    512512"บ้านเกิด" 512 ไบต์

คำเตือน: บทความนี้ได้รับการแปลโดยอัตโนมัติ

คุณสมบัติ

รหัสบทความ: 3009974 - การตรวจสอบครั้งสุดท้าย: 01/20/2016 00:24:00 - ฉบับแก้ไข: 6.0

Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Standard, Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2012 Developer, Microsoft SQL Server 2012 Standard

  • kbqfe kbhotfixserver kbfix kbsurveynew kbexpertiseadvanced kbmt KB3009974 KbMtth
คำติชม