Triệu chứng
Xem xét tình huống sau:
-
You có bộ điều hợp dựa trên Windows Communication khuôn khổ WCF SQL trong Microsoft BizTalk Server mà lấy nhiều dữ liệu trong khoảng thời gian ngắn, thường xuyên từ một quy trình được lưu trữ trong Microsoft SQL Server.
-
Dữ liệu lấy được ghi với các tệp trong cặp chia sẻ.
Trong trường hợp này, bạn có thể thấy rằng chỉ một vài tệp được ghi ngẫu nhiên do các nhận cổng không kích hoạt. Thông báo lỗi được ghi lại trong Nhật ký sự kiện máy chủ và không nhận được bất kỳ thông báo treo trong BizTalk Server.
Sự cố này xảy ra do bộ điều hợp WCF SQL không thành công liên tục nếu một trong các điều kiện sau là đúng:
-
Thuộc tính AmbientTransaction được đặt đúng.
-
Thuộc tính liên kết ReceiveTimeout là bằng hoặc nhỏ hơn tổng giá trị PollingIntervalInSeconds cộng với thời gian cần thiết để yêu cầu dữ liệu từ máy chủ SQL.
Giải pháp
Vấn đề này được khắc phục trong bản Cập Nhật tích luỹ sau BizTalk Server:
Cập Nhật tích luỹ 4 BizTalk Server 2016
Cập Nhật tích luỹ 7 BizTalk Server 2013 R2
Lưu ý Bản cập nhật này giới thiệu một thuộc tính PollingSqlReceiveTimeout mới sẽ xác định giá trị thời gian chờ SQL. Nếu giá trị này là 0, WCF ReceiveTimeout sẽ được sử dụng như PollingSqlReceiveTimeout.
Trạng thái
Microsoft đã xác nhận rằng đây là sự cố trong sản phẩm của Microsoft được liệt kê trong phần "Áp dụng cho".
Tham khảo
Tìm hiểu thêm về gói dịch vụ và danh sách Cập Nhật tích luỹ BizTalk Server.
Tìm hiểu thêm về BizTalk Server hotfix và Cập Nhật tích luỹ hỗ trợ.