Sintomas
Considere o seguinte cenário:
- Você tem um adaptador SQL baseado no Windows Communication Framework (WCF) no Microsoft BizTalk Server que recupera muitos 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 observar que apenas alguns arquivos são gravados aleatoriamente porque a porta de recebimento não é disparada. Nenhuma mensagem de erro é registrada no log de eventos do servidor e você não recebe nenhuma mensagem suspensa no BizTalk Server.
Esse problema ocorre porque o adaptador WCF-SQL falhará intermitentemente se uma das seguintes condições for verdadeira:
- A propriedade AmbientTransaction é definida como true.
- A propriedade de associação ReceiveTimeout é igual ou menor que o total do valor PollingIntervalInSeconds mais o tempo necessário para consultar os dados do SQL Server.
Resolução
Esse problema é corrigido na seguinte atualização cumulativa do BizTalk Server:
Atualização cumulativa 4 para o BizTalk Server 2016
Atualização cumulativa 7 para o BizTalk Server 2013 R2
Observação Essa atualização introduz uma nova propriedade 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 confirmou que este é um problema nos produtos da Microsoft listados na seção "Aplica-se a".
Referências
Saiba mais sobre o service pack e a lista de atualizações cumulativas do BizTalk Server.
Saiba mais sobre os hotfixes do BizTalk Server e o suporte de atualização cumulativa.