KB3020116 - แก้ไข: เกิดข้อผิดพลาด "ตัวกําหนดเวลาที่ไม่ให้ผลตอบแทน" และกลุ่มให้บริการ AlwaysOn ส่งผ่านไปยังสถานะกําลังแก้ไข

นำไปใช้กับ
SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

อาการ

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

  • ข้อผิดพลาดตัวจัดกําหนดการที่ไม่ให้ผลตอบแทนต่อไปนี้อาจเกิดขึ้นบนแบบจําลองหลักในช่วงเวลาที่กลุ่มให้บริการเปลี่ยนผ่านจาก PRIMARY ไปยัง RESOLVING:

    หมายเหตุ

    < วันที่><เวลา>รหัส> Spid< การใช้ 'dbghelp.dll' เวอร์ชัน '4.0.5'
    < วันที่><เวลา>รหัส> Spid< การใช้ 'dbghelp.dll' เวอร์ชัน '4.0.5'
    < วันที่><เวลา> เซิร์ฟเวอร์ที่ใช้ 'dbghelp.dll' เวอร์ชัน '4.0.5'
    < วันที่><เวลา> เซิร์ฟเวอร์ ***ไม่สามารถรับบริบทเธรดสําหรับ spid 0
    < วันที่><เวลา> เซิร์ฟเวอร์ * *******************************************************************************
    < วันที่><เวลา> เซิร์ฟเวอร์ *
    < วันที่><เวลา> Server * BEGIN STACK DUMP:
    < วันที่><เวลา> เซิร์ฟเวอร์ * <วันที่><เวลา>ID spid<>
    < วันที่><เวลา> เซิร์ฟเวอร์ *
    < วันที่><เวลา> เซิร์ฟเวอร์ * ตัวจัดกําหนดการที่ไม่ให้ผลตอบแทน
    < วันที่><เวลา> เซิร์ฟเวอร์ *
    < วันที่><เวลา> เซิร์ฟเวอร์ * *******************************************************************************
    < วันที่><เวลา> ลายเซ็นสแตกเซิร์ฟเวอร์สําหรับการบันทึกข้อมูลคือ วันที่เวลา การ>หมดเวลาของเซิร์ฟเวอร์ที่รอกระบวนการบันทึก 0x0000000000000176><< ข้อมูลภายนอก 982676 < วันที่><เวลา> กระบวนการเซิร์ฟเวอร์ 0:0:0 (0x11428) Worker 0x00000075CB92C160 ดูเหมือนจะไม่ยอมจํานนใน Scheduler 0 เวลาในการสร้างเธรด: 13011925023676 CPU ที่ใช้เธรดโดยประมาณ: เคอร์เนล 0 มิลลิวินาที, ผู้ใช้ 0 มิลลิวินาที การใช้ประโยชน์กระบวนการ 2% ไม่ได้ใช้งานระบบ: 84% ช่วงเวลา: 76880 มิลลิวินาที

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

    หมายเหตุ

    < วันที่><เวลา>ID> spid< ฐานข้อมูลกลุ่มให้บริการ "agname" กําลังเปลี่ยนบทบาทจาก "RESOLVING" เป็น "PRIMARY" เนื่องจากเซสชันการมิเรอร์หรือกลุ่มการติดต่อล้มเหลวเนื่องจากการซิงโครไนซ์บทบาท ข้อความนี้เป็นเพียงข้อความที่ให้ข้อมูลเท่านั้น ผู้ใช้ไม่ต้องดําเนินการใดๆ
    …
    < วันที่><เวลา> เซิร์ฟเวอร์ที่ใช้ 'dbghelp.dll' เวอร์ชัน '4.0.5'
    < วันที่><เวลา> เซิร์ฟเวอร์ ***ไม่สามารถรับบริบทเธรดสําหรับ spid 0
    < วันที่><เวลา> เซิร์ฟเวอร์ * *******************************************************************************
    < วันที่><เวลา> เซิร์ฟเวอร์ *
    < วันที่><เวลา> Server * BEGIN STACK DUMP:
    < วันที่><เวลา> เซิร์ฟเวอร์ * <วันที่><เวลา>ID spid<>
    < วันที่><เวลา> เซิร์ฟเวอร์ * รุ่นเซิร์ฟเวอร์ส่วนตัว
    < วันที่><เวลา> เซิร์ฟเวอร์ *
    < วันที่><เวลา> เซิร์ฟเวอร์ * ตัวจัดกําหนดการที่ไม่ให้ผลตอบแทน
    < วันที่><เวลา> เซิร์ฟเวอร์ *
    < วันที่><เวลา> เซิร์ฟเวอร์ * *******************************************************************************
    < วันที่><เวลา> ลายเซ็นสแตกของเซิร์ฟเวอร์สําหรับการบันทึกข้อมูล 0x000000000000006D
    < วันที่><เวลา> เซิร์ฟเวอร์ กระบวนการรีลัมพ์ภายนอก 0x20000001
    กระบวนการบันทึกข้อมูลภายนอกไม่ส่งกลับข้อผิดพลาด
    < วันที่><เวลา> กระบวนการเซิร์ฟเวอร์ 0:0:0 (0x1e94) Worker 0x000000082F270160 ดูเหมือนจะไม่ยอมจํานนใน Scheduler 0 เวลาในการสร้างเธรด: 13059453624681 CPU ที่ใช้เธรดโดยประมาณ: เคอร์เนล 0 มิลลิวินาที, ผู้ใช้ 0 มิลลิวินาที การใช้กระบวนการ 3% ไม่ได้ใช้งานระบบ: 84% ช่วงเวลา: 70358 มิลลิวินาที
    < วันที่><เวลา> กระบวนการเซิร์ฟเวอร์ 0:0:0 (0x998) Worker 0x00000000B3F86160 ดูเหมือนจะไม่ยอมจํานนใน Scheduler 2 เวลาในการสร้างเธรด: 13059458965740 CPU ที่ใช้เธรดโดยประมาณ: เคอร์เนล 0 มิลลิวินาที, ผู้ใช้ 0 มิลลิวินาที การใช้กระบวนการ 3% ไม่ได้ใช้งานระบบ: 83% ช่วงเวลา: 76913 มิลลิวินาที
    วันที่><เวลา> กระบวนการเซิร์ฟเวอร์ 0:0:0 (0x1a64) Worker 0x0000000B5E220160 ดูเหมือนจะไม่ยอมจํานนใน Scheduler 3 เวลาในการสร้างเธรด: 13059466511951 CPU ที่ใช้เธรดโดยประมาณ: เคอร์เนล 0 มิลลิวินาที, ผู้ใช้ 0 มิลลิวินาที การใช้กระบวนการ 3% ไม่ได้ใช้งานระบบ: 83% ช่วงเวลา: 76944 มิลลิวินาที

หมายเหตุ: ปัญหานี้ยังเกิดขึ้นใน SQL Server 2012

การแก้ปัญหา

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

การอัปเดตสะสม 5 สําหรับ SQL Server 2014 /en-us/help/3011055

เกี่ยวกับการอัปเดตสะสมสําหรับ SQL Server

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

      

สถานะ

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