Sintomi
Si consideri lo scenario seguente:
-
You dispone di una scheda SQL basato su Windows Communication Framework WCF in Microsoft BizTalk Server che consente di recuperare grandi quantità di dati a intervalli brevi e regolari da una stored procedure in Microsoft SQL Server.
-
I dati recuperati viene scritto come file in cartelle condivise.
In questo scenario, è possibile notare che solo alcuni file vengono scritti in modo casuale in quanto il ricevere porta non viene attivato. Nessun messaggio di errore vengono registrato nel registro eventi del server e non si ricevere messaggi sospesi in BizTalk Server.
Questo problema si verifica perché la scheda di WCF-SQL non riesce in modo discontinuo in presenza di una delle seguenti condizioni:
-
La proprietà AmbientTransaction è impostata su True.
-
La proprietà di associazione ReceiveTimeout è uguale o inferiore al totale del valore di PollingIntervalInSeconds più il periodo che serve per eseguire query sui dati da SQL Server.
Risoluzione
Questo problema viene risolto nell'aggiornamento cumulativo per BizTalk Server seguente:
Aggiornamento cumulativo 4 per il 2016 di BizTalk Server
Aggiornamento cumulativo 7 per BizTalk Server 2013 R2
Nota: Questo aggiornamento introduce una nuova proprietà PollingSqlReceiveTimeout che consente di verificare il valore di timeout SQL. Se questo valore è zero, WCF ReceiveTimeout verrà utilizzato come PollingSqlReceiveTimeout.
Stato
Microsoft ha confermato che questo è un problema dei prodotti Microsoft elencati nella sezione "Si applica a".
Riferimenti
Informazioni sui service pack e l'elenco di aggiornamento cumulativo per BizTalk Server.
Informazioni sugli aggiornamenti rapidi di BizTalk Server e il supporto dell'aggiornamento cumulativo.