การแก้ไข: อะแดปเตอร์ WCF SQL ล้มเหลวเป็นระยะๆ ถ้า AmbientTransaction เป็นจริง หรือถ้า ReceiveTimeout ไม่มากกว่าเวลา polling บวกเวลาในการสอบถามข้อมูลจาก SQL Server

นำไปใช้กับ
BizTalk Server 2013 R2 Developer BizTalk Server 2013 R2 Branch BizTalk Server 2013 R2 Enterprise BizTalk Server 2013 R2 Standard BizTalk Server 2016 Developer BizTalk Server 2016 Branch BizTalk Server 2016 Enterprise BizTalk Server 2016 Standard

อาการ

ลองทำตามสถานการณ์ต่อไปนี้:

  • คุณมีอะแดปเตอร์ SQL ที่ใช้ Windows Communication Framework (WCF) ใน Microsoft BizTalk Server ที่เรียกใช้ข้อมูลจํานวนมากในช่วงเวลาสั้นๆ อย่างสม่ําเสมอจากกระบวนงานที่จัดเก็บไว้ใน Microsoft SQL Server
  • ข้อมูลที่ดึงมาจะถูกเขียนเป็นไฟล์ในโฟลเดอร์ที่ใช้ร่วมกัน

ในสถานการณ์สมมตินี้ คุณอาจสังเกตเห็นว่ามีแฟ้มบางแฟ้มที่เขียนแบบสุ่มเนื่องจากพอร์ตรับไม่ทริกเกอร์ ไม่มีข้อความแสดงข้อผิดพลาดถูกบันทึกไว้ในบันทึกเหตุการณ์ของเซิร์ฟเวอร์ และคุณไม่ได้รับข้อความที่หยุดชั่วคราวใดๆ ใน BizTalk Server

ปัญหานี้เกิดขึ้นเนื่องจากอะแดปเตอร์ WCF-SQL ล้มเหลวเป็นระยะๆ ถ้าเงื่อนไขใดเงื่อนไขหนึ่งต่อไปนี้เป็นจริง:

  • คุณสมบัติ AmbientTransaction ถูกตั้งค่าเป็น True
  • คุณสมบัติการผูก ReceiveTimeout เท่ากับหรือน้อยกว่าผลรวมของค่า PollingIntervalInSeconds บวกกับเวลาที่ต้องใช้ในการสอบถามข้อมูลจาก SQL Server

การแก้ปัญหา

ปัญหานี้ได้รับการแก้ไขแล้วในการอัปเดตแบบสะสมต่อไปนี้สําหรับ BizTalk Server:

การอัปเดตสะสม 4 สําหรับ BizTalk Server 2016

การอัปเดตสะสม 7 สําหรับ BizTalk Server 2013 R2

หมาย เหตุ การอัปเดตนี้จะแนะนําคุณสมบัติ PollingSqlReceiveTimeout ใหม่ที่จะกําหนดค่าการหมดเวลาของ SQL ถ้าค่านี้เป็นศูนย์ WCF ReceiveTimeout จะถูกใช้เป็น PollingSqlReceiveTimeout

สถานะ

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

การอ้างอิง

เรียนรู้เกี่ยวกับ Service Pack และรายการการอัปเดตสะสมสําหรับ BizTalk Server

เรียนรู้เกี่ยวกับ BizTalk Server การแก้ไขด่วนและการสนับสนุนการอัปเดตแบบสะสม