BizTalk 2013 R2 WCF-SQL 适配器有随机问题

BizTalk 2013 R2 WCF-SQL adapter having random issues

嗨,

我们在 BizTalk 2013 R2 中有两个 BizTalk 应用程序似乎有随机问题。两个应用程序都遵循相同的过程。

在我们的测试中,这两个应用程序都运行良好了很长一段时间。但是,随着时间的推移,我们在通过 WCF-SQL 调用插入时遇到了一些问题。

  1. 从网络读取输入流时发生致命错误。会话将被终止(输入错误:64,输出错误:0)。

此错误出现在 Sql 服务器日志中。我们用了大约一天,然后就消失了。其他一切在该目标 sql 服务器上继续正常工作。只有 BizTalk 有问题。

  1. 我们最新的错误是向 WCF-SQL 发出插入请求(数据实际上已插入),但从来没有响应。因此,发送端口继续尝试发送它的重试,编排只是脱水。

我们修改了整个应用程序的每个设置以尝试解决这个问题,但只有删除应用程序并重新部署才能解决这个问题(至少现在是这样)。


所以,我想我的问题是,是否其他人遇到过 BizTalk 的这类问题,其中有 "random" 这样的错误,它可以很好地工作,然后像我们看到的那样走下坡路?

我真的更喜欢有一些维护最少的稳定的东西。毕竟是企业产品

在存在数据差异的环境之间移动时,我遇到了类似的问题,例如QA 中一列充满 NULL,而 PROD 中一列充满实际数据。您可以尝试一些方法。

  1. 使用 SQL Sever Profiler 捕获来自 BizTalk 的 RPC 调用,并尝试 运行直接在 BizTalk 远程调用的 SQL Server 上对其进行 运行ning(将其包装在事务中如果这是生产,你最后回滚)。 运行 花费的时间是否比预期的要长?调试程序以找到痛点并在可能的情况下进行优化。我在这里写了一篇关于如何做到这一点的博客:http://blog.tallan.com/2015/01/09/capturing-and-debugging-a-sql-stored-procedure-call-from-biztalk/
  2. 在发送端口的绑定配置中设置超时,以确保在 SQL 完成其工作之前它不会超时。
  3. 提高 Machine.config 中的 System.Transactions 超时以确保 MSDTC 不会导致问题:http://blogs.msdn.com/b/madhuponduru/archive/2005/12/16/how-to-change-system-transactions-timeout.aspx and http://blog.brandt-lassen.dk/2012/11/overriding-default-10-minutes.html
  4. 如果可能,请在 TEST/QA 和 PROD 数据库之间进行数据比较。查找显着差异,尤其是在 JOIN 条件和 WHERE 子句中使用的列中。