เซสชันหยุดทำงานด้วย TM REQUEST และจัดการกับแผน 0x0000


12

เรามีเหตุการณ์เป็นระยะซึ่งมีการเชื่อมต่อจำนวนมากค้างอยู่บนคำขอ TM (จากsys.dm_os_waiting_tasks) และไม่มีความคืบหน้า KILLที่ได้รับผลกระทบsession_idไม่ทำอะไรเลย

เซิร์ฟเวอร์รันการมิเรอร์ฐานข้อมูล (2008R2) การหยุดชั่วคราวและการทำมิเรอร์ต่อไปจะช่วยแก้ไขปัญหาเมื่อเกิดขึ้น

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

ใครเคยเห็นสิ่งนี้มาก่อนและรู้ว่าอะไรทำให้เกิดอะไรขึ้น ไม่มีสิ่งใดในบันทึกข้อผิดพลาด


โหมดการมิรเรอร์ที่ตั้งค่าเป็นอะไร ชนิดการรอเมื่อเกิดปัญหานี้คืออะไร โอกาสใด ๆ ที่กำหนดค่า SQL Server ในfiber mode?
Kin Shah

การมิเรอร์อยู่ในโหมดซิงค์ ไม่มีเส้นใย ไม่มีใครรอ
Thomas Kejser

สิ่งที่resource_descriptionกำหนดให้
Thomas Stringer

ฉันสังเกตเห็นสิ่งนี้เมื่อไม่นานมานี้ (เราเรียกใช้ async แต่เราเปลี่ยนเป็นซิงค์เมื่อเรา failover หรือ patching ฯลฯ ) สปิดยังคงอยู่หลังจากมีการซิงโครไนซ์อย่างสมบูรณ์หรือไม่
Subhash Pant

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

คำตอบ:


9

TM ย่อมาจาก Transaction Manager คำสั่งปัจจุบันถูกตั้งค่าเป็นคำขอ TM หมายความว่าเธรดกำลังให้บริการคำร้องขอ DTC (ผู้ประสานงานธุรกรรมที่มีการแจกจ่าย) ไม่ว่าจะเป็นรายการในธุรกรรม DTC หรือข้อบกพร่องจากมันหรือกระทำการใด ๆ ธุรกรรมแบบกระจายไม่รองรับการทำมิเรอร์ฐานข้อมูลเนื่องจากไม่สามารถรับประกันความสมบูรณ์ของธุรกรรม ระงับการทำธุรกรรม DTC ของคุณและสิ่งนี้จะหายไป


เครดิต S. Ashwin, เพื่อนร่วมงาน, ฝ่ายสนับสนุนของ Microsoft SQL
stacylaray

ฉันจะวินิจฉัยว่าสิ่งนี้มาจากไหน บันทึก MSDTC บนเซิร์ฟเวอร์นั้นว่างเปล่า
Thomas Kejser

DTC มีส่วนร่วมหรือไม่ถ้าฉันมีธุรกรรมฐานข้อมูลข้ามในอินสแตนซ์เดียวกัน
โทมัส Kejser

@ThomasKejser - sp_configure 'Ad Hoc Distributed Queries'เปิดอยู่? - บางทีระบบบางระบบกำลังทำธุรกรรมข้ามฐานข้อมูลโดยใช้OPENQUERYคำสั่งเฉพาะกิจหรืออะไร?
Max Vernon

1
ธุรกรรมฐานข้อมูลข้ามใช้รหัสพื้นฐานเดียวกันกับธุรกรรม DTC ที่ใช้ ข้อแตกต่างที่สำคัญคือการขาดผู้จัดการ DTC ในการประสานงาน SQL Server จะเลือก DBID ที่ต่ำที่สุดในธุรกรรมเป็นผู้ประสานงานธุรกรรม
stacylaray

0

Service Broker ใช้ตัวจัดการทรานแซคชันเซิร์ฟเวอร์ SQL แทน Microsoft Coordined Transaction Coordinator (MS DTC) การทำธุรกรรมไม่ได้ข้ามอินสแตนซ์ แต่ภายในอินสแตนซ์ คุณใช้บริการนายหน้าหรือไม่

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