ข้อความแบบเต็ม: FT_MASTER_MERGE จำนวนมากรอสถานะ SUSPENDED หลังจากสร้างดัชนีข้อความแบบเต็มหลายรายการ (เซิร์ฟเวอร์หยุดทำงาน)


9

เราทำการทดสอบบน SQL Server 2014 เมื่อเรามี 10 ฐานข้อมูล 100 schema ที่แตกต่างกันในแต่ละฐานข้อมูล 10 ตาราง (~ 50 แถว) ตารางเล็ก ๆ ในแต่ละ schema (ดังนั้น 10K ตารางทั้งหมด) และเราสร้างดัชนีข้อความทั้งหมดในสิ่งเหล่านี้ ตารางในฐานข้อมูลเหล่านี้ทั้งหมดพร้อมกัน

ในหลายนาทีเราพบว่า SQL Server หยุดการยอมรับการเชื่อมต่อใด ๆ (ยกเว้นADMIN:.การเชื่อมต่อ) หากเรารีสตาร์ทเซิร์ฟเวอร์เราสามารถเชื่อมต่อได้ แต่ในบางครั้งมันก็หยุดทำงานอีกครั้ง หลังจากการตรวจสอบบางอย่างเราพบว่ามันเกิดจากการบริโภคกระทู้ทำงานทั้งหมดdm_os_tasksและdm_os_waiting_tasksแสดงให้เราเห็นว่ามีสถานะFT_MASTER_MERGEรออยู่SUSPENDEDมากมาย เรา googled ว่า "ข้อความแบบเต็มกำลังรอการดำเนินการผสานหลัก" แต่ไม่พบข้อมูลที่แท้จริงอีกต่อไป

เราลองกำหนดค่าแคตตาล็อกข้อความเต็มรูปแบบที่แตกต่างกัน: หนึ่งแคตตาล็อกต่อ DB, หนึ่งแค็ตตาล็อกต่อสคีมา, หนึ่งแคตตาล็อกต่อดัชนี อย่างไรก็ตามเซิร์ฟเวอร์หยุดทำงานกับงานที่ถูกระงับเหล่านี้ทั้งหมด

อะไรคือสาเหตุของการรอคอยสิ่งนี้สามารถแก้ไข / บรรเทาได้อย่างไร

และอะไรคือวิธีที่แนะนำในการเปิดใช้งานข้อความแบบเต็มบนตารางจำนวนมากเช่นนี้

คำตอบ:


3

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

Ref:

นี่เป็นปัญหาที่ทราบของ SQL Server จากรายการเชื่อมต่อ:

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

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.