我们将SQL Server 2005数据库移动到新的物理服务器,从那时起它终止了任何持续30秒的连接。
我们在Oracle SQL开发人员和使用pyodbc从python连接时遇到这种情况 一切都运行得很好,现在python在30秒后返回错误:
('08S01','[08S01] [FreeTDS] [SQL Server]从服务器读取失败(20004)(SQLExecDirectW)')
答案 0 :(得分:1)
首先,您需要的是配置sql server以查看是否发生了任何活动。寻找运行缓慢的查询,CPU和内存瓶颈。
此外,您可以在查询字符串中包含超时,如下所示: “Data Source =(local); Initial Catalog = AdventureWorks; Integrated Security = SSPI; Connection Timeout = 30”; 并根据需要扩展该数字。
但请记住“超时”并不意味着时间连接,这只是在终止之前尝试建立连接时等待的时间。
我认为这个问题更多是关于数据库性能或可能是网络问题。
答案 1 :(得分:0)
也许检查你的远程查询超时?它应该默认为600,但也许它设置为30? Info here