เราทำการทดสอบบน 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, หนึ่งแค็ตตาล็อกต่อสคีมา, หนึ่งแคตตาล็อกต่อดัชนี อย่างไรก็ตามเซิร์ฟเวอร์หยุดทำงานกับงานที่ถูกระงับเหล่านี้ทั้งหมด
อะไรคือสาเหตุของการรอคอยสิ่งนี้สามารถแก้ไข / บรรเทาได้อย่างไร
และอะไรคือวิธีที่แนะนำในการเปิดใช้งานข้อความแบบเต็มบนตารางจำนวนมากเช่นนี้