【问题标题】:Connection timeout with SlashDB and Azure SQL DBSlashDB 和 Azure SQL DB 的连接超时
【发布时间】:2020-03-24 20:55:28
【问题描述】:

我刚刚安装了 SlashDB 并成功连接到 Azure SQL DB。查询工作,一切都很好。但是,过了一会儿,如果我重试之前的工作查询,我会从 SlashDB 收到一个错误:

500 内部服务器错误 (pyodbc.OperationalError) ('08S01', u'[08S01] [FreeTDS][SQL Server]写入服务器失败 (20006) (SQLExecDirectW)')

如果这很重要,我不会向服务器写入任何内容。但是,如果我立即重试查询,它就会起作用。我对这一切的深入分析(=猜测)是 SQL Server 终止了空闲连接。现在,我希望 SlashDB 在失败时重试,而不是向客户端返回错误。这可能吗?

【问题讨论】:

    标签: sql-server azure slashdb


    【解决方案1】:

    显然,由于冗余限制或 30 分钟空闲,Azure SQL DB 可能会中断连接。

    https://azure.microsoft.com/en-us/blog/connections-and-sql-azure/

    出于性能原因,SlashDB 不会为每个请求建立新连接,而是维护一个连接池。

    MySQL 有类似的行为,众所周知(60 分钟空闲超时),SlashDB 实际上有一个尝试重新连接的逻辑。它应该对所有数据库类型实现相同的功能,但我需要与开发团队确认(如果不是这种情况,请修复)。

    与此同时,您可以在客户端重试或定期发送请求以避免超时。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多