gpt4 book ai didi

sql - VM 快照期间 BizTalk 与 SQL 的连接问题

转载 作者:行者123 更新时间:2023-12-04 05:10:04 24 4
gpt4 key购买 nike

我们有一个用于 BizTalk 的虚拟机和一个用于 SQL 后端的单独虚拟机。我们使用 Veeam 进行备份,这基本上启动了 VM 的快照。在 SQL VM 上完成此快照时,应用程序服务器上的 BizTalk 服务失败。通常它们会自动重启,但有时这需要手动干预才能启动服务。 BizTalk 服务器上记录了以下错误。

是否有任何超时设置或配置更改允许 BizTalk 服务在快照过程中保持运行?

发生错误,需要终止 BizTalk 服务。最常见的原因如下: 1) 意外的内存不足错误。 或者 2) 无法连接或失去与 BizTalk 数据库之一的连接。 该服务将关闭并在 1 分钟后自动重启。如果有问题的数据库仍然不可用,则此循环将重复。

错误信息:[DBNETLIB][ConnectionRead (recv()).]一般网络错误。检查您的网络文档。 错误来源:

BizTalk 主机名:BizTalkServerApplication Windows 服务名称:BTSSvc$BizTalkServerApplication

最佳答案

我们在 BizTalk 2009 和 BizTalk 2013 中遇到了相同的情况和错误,每个都设置了两个应用程序服务器和一个 SQL 数据库服务器。

当我们的 VMware 在应用服务器上执行快照备份的最后一步时,它会卡住应用服务器大约 10 秒,以防止它接收数据包。在 SQL Server 2008 和 2012 上,默认情况下它会每 30 秒(30,000 毫秒)向客户端发送一次保持事件数据包。如果 SQL 服务器未能从应用服务器收到响应,它将发送 5 次(默认设置)重试 keep-alive 请求,间隔 1 秒(1,000 毫秒)。如果 SQL 仍然没有收到响应,它将终止连接,这将导致应用服务器上的 BizTalk 主机重置,在我们的例子中,当我们的德国制造的 ERP 系统在此期间将其 EDI 文档发送到 BizTalk 时复位期间,传输将失败。

我们通过在数据库和应用程序服务器上运行 NetMon 来解决这个问题,等待下一条错误消息。经过检查,我们看到五个 SQL keep-alive 数据包被发送到应用服务器,间隔 1 秒,同时应用服务器上根本没有收到任何数据包。乍一看,人们可能认为它们“只是丢弃了网络数据包”,但这种情况很少见。然后我们将 VM 快照的时间关联起来,现在确认每次快照每天完成时,应用服务器都会卡住。

作为中短期解决方法,我们通过添加注册表值 TcpMaxDataRetransmissions 并将其设置为 30(因此 30 秒之前SQL 声明客户端无响应)。这暂时为我们掩盖了问题,请自行决定使用。

我们也在研究基于代理的 VM 快照版本,这可能会缓解服务器卡住的情况。

关于sql - VM 快照期间 BizTalk 与 SQL 的连接问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15007140/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com