เพื่อนของฉันมีเซิร์ฟเวอร์สองเครื่องที่มี MSDTC เชื่อมต่อกับ SQL Server สองเครื่อง ทุกอย่างเรียบร้อยดีสำหรับ SQL Server หนึ่ง แต่สำหรับอีกเซิร์ฟเวอร์หนึ่งเขามักจะได้รับข้อผิดพลาด:
System.Transactions.TransactionManagerCommunicationException:
การสื่อสารกับตัวจัดการธุรกรรมพื้นฐานล้มเหลว --->
System.Runtime.InteropServices.COMException: ธุรกรรม MSDTC
ผู้จัดการไม่สามารถส่งธุรกรรมไปยังปลายทางได้
ผู้จัดการธุรกรรมเนื่องจากปัญหาในการสื่อสาร สาเหตุที่เป็นไปได้
คือ: มีไฟร์วอลล์อยู่และไม่มีข้อยกเว้นสำหรับ
กระบวนการ MSDTC ทั้งสองเครื่องหากันไม่เจอ
ชื่อ NetBIOSหรือไม่ได้เปิดใช้งานการสนับสนุนสำหรับธุรกรรมเครือข่าย
สำหรับหนึ่งในสองผู้จัดการธุรกรรม (ข้อยกเว้นจาก HRESULT:
0x8004D02A)
ข้อแตกต่างเพียงอย่างเดียวระหว่าง SQL Server ทั้งสองคือเครือข่าย (เครือข่ายย่อยที่แตกต่างกัน) และไฟร์วอลล์ (เครือข่ายที่ทำงานมีข้อจำกัดน้อยกว่า) และนี่คือส่วนที่ตลก ถ้าใครเรียกดูการแชร์จาก SQL ไปยังหนึ่งในสองเซิร์ฟเวอร์ที่ไม่ใช่ SQL ทุกอย่างจะทำงานได้ดีชั่วขณะหนึ่ง พวกเขาสงสัยบางอย่างเกี่ยวกับการแก้ไขชื่อ NetBIOS แต่ไม่สามารถแก้ไขปัญหาโดยละเอียดได้
ความคิดใด ๆ ?