Sintomas
Considere o seguinte cenário:
-
You ter um adaptador SQL com base em Windows Communication Framework WCF no Microsoft BizTalk Server que recupera grandes quantidades de dados em intervalos curtos e regulares de um procedimento armazenado no Microsoft SQL Server.
-
Os dados recuperados são gravados como arquivos em pastas compartilhadas.
Nesse cenário, você pode perceber que apenas alguns arquivos são gravados aleatoriamente porque o receber não aciona a porta. Sem mensagens de erro são registradas no log de eventos do servidor, e não receber mensagens suspensas no BizTalk Server.
Esse problema ocorre porque o adaptador WCF SQL falha intermitentemente se alguma das seguintes condições for verdadeira:
-
A propriedade AmbientTransaction estiver definida como True.
-
A propriedade de ligação ReceiveTimeout é igual ou menor que o total do valor de PollingIntervalInSeconds mais o tempo necessário para consultar os dados do SQL Server.
Resolução
Esse problema é corrigido na atualização cumulativa seguinte para BizTalk Server:
Atualização cumulativa 4 para 2016 do BizTalk Server
Atualização cumulativa 7 para o BizTalk Server 2013 R2
Observação: Essa atualização introduz uma nova propriedade de PollingSqlReceiveTimeout que determinará o valor de tempo limite do SQL. Se esse valor for zero, o WCF ReceiveTimeout será usado como PollingSqlReceiveTimeout.
Status
A Microsoft confirma que este é um problema em seus produtos listados na seção "Aplica-se a".
Referências
Saiba mais sobre o service pack e a lista de atualização cumulativa para o BizTalk Server.
Aprenda sobre os hotfixes do BizTalk Server e o suporte de atualização cumulativa.