Consider the following scenario:
- You have a Windows Communication Framework (WCF)-based SQL adapter in Microsoft BizTalk Server that retrieves lots of data at short, regular intervals from a stored procedure in Microsoft SQL Server.
- The data retrieved is written as files in shared folders.
In this scenario, you may notice that only a few files are written randomly because the receive port does not trigger. No error messages are logged in the server event log, and you don't receive any suspended messages in BizTalk Server.
This issue occurs because the WCF-SQL adapter fails intermittently if either of the following conditions is true:
- The AmbientTransaction property is set to True.
- The ReceiveTimeout binding property is equal to or less than the total of the PollingIntervalInSeconds value plus the time that's required to query the data from SQL Server.
This issue is fixed in the following cumulative update for BizTalk Server:
Note This update introduces a new PollingSqlReceiveTimeout property that will determine the SQL time-out value. If this value is zero, WCF ReceiveTimeout will be used as PollingSqlReceiveTimeout.
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.