gpt4 book ai didi

sql-server - SQL Azure KeepAlive 问题

转载 作者:行者123 更新时间:2023-12-03 00:13:41 25 4
gpt4 key购买 nike

我有一个托管在 Azure 上的虚拟机,该虚拟机连接到 SQL Azure 数据库。我运行一个第三方应用程序,当与 Azure 的连接在闲置 30 分钟后关闭时,该应用程序会崩溃,因为它尝试更新数据库并且连接已关闭。

我知道正确的做法是使用 try/catch 例程来重新连接,但它是第三方应用程序,我很难尝试这样做。因此,我尝试增加保活时间但没有成功。我已遵循提到的建议here但没有运气。我检查了虚拟机上的注册表, key 已更改,但 30 分钟后连接仍然关闭。我认为这可能是因为这篇文章是针对云项目的,需要更改服务定义文件,而我无法执行此操作,因为我只有一个虚拟机而没有云项目。另外,我对 Azure 还很陌生,所以我可能会说/做一些非常愚蠢的事情!

提前致谢。

我用于 .cmd 文件的代码如下:

if exist keepalive.txt goto done
time /t > keepalive.txt
REM Workaround for JDBC keep alive on SQL Azure
REG ADD HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters /v KeepAliveTime /t REG_DWORD /d 300000000 >> keepalive.txt
REG ADD HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters /v KeepAliveInterval /t REG_DWORD /d 100000 >> keepalive.txt
REG ADD HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters /v TcpMaxDataRetransmission /t REG_DWORD /d 10 >> keepalive.txt
shutdown /r /t 1
:done

------------------------------------------------------------ ---------

编辑:VM 上安装了第三方应用程序,并通过 JDBC 驱动程序连接到 SQL Azure。

最佳答案

我认为你在这里解决了错误的问题。

SQL Azure 是云服务,您将在这里面临几种不同类型的连接问题,例如:

  • 连接关闭,您遇到过
  • 暂时故障 - 服务可能此时无法正常工作(但稍后会工作),只是因为它是云
  • 限制 - 您的服务层可能没有收到足够的资源,或者您刚刚消耗了在此时间段内可以消耗的所有资源

30 分钟后连接关闭只是最明显的一个,但您肯定也会面对其他情况。

在处理云服务时,您应该以“重试”的心态思考,并尝试了解在出现错误时如何“重试”。也许最明显的解决方案是循环重新启动第三方应用程序,或者编写脚本以每 10 分钟终止并重新启动它,等等。

关于sql-server - SQL Azure KeepAlive 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35574123/

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