使用SQL Server 2016长时间空闲后连接失败

时间:2016-10-14 16:58:51

标签: sql-server vb6 sql-server-2016

我有一个旧的VB6应用程序,它建立了与SQL Server的连接,并在应用程序的整个生命周期中使用它。

我们最近将后端升级到SQL Server 2016(从2005年开始)并注意到一个奇怪的问题。如果用户将应用程序空闲几个小时,然后尝试执行与数据库有关的任何操作,则会出现运行时错误-2147219450 (80040806)Connection Failure。应用程序会检查ADODB.Connection.State,并始终报告连接已打开。我们在多个(相当于OS版本)工作站上看到这个错误非常一致。

我没有在谷歌上看到任何与此相关的内容。有人能解释一下这个问题吗?

1 个答案:

答案 0 :(得分:0)

仅当连接到本地计算机上的sqlserver实例时,此驱动程序才出现此问题。似乎共享内存客户端协议中存在错误。切换到TCP进行本地连接(关闭共享内存和命名管道)解决了该问题。

我遇到的错误是

Microsoft OLE DB Provider for SQL Server "Connection failure" SQL State: 08S01