【问题标题】:Intermittent SQL Server ODBC Timeout expired间歇性 SQL Server ODBC 超时已过期
【发布时间】:2010-09-27 14:11:41
【问题描述】:

我们有一堆 VB6 应用程序可以访问两个不同的数据库服务器(都是 32 位 windows 2003,一个 SQL Server 2000,一个 SQL Server 2005)。大约每十分钟左右,我们就会收到一些错误:

[Microsoft][ODBC SQL Server 驱动程序]超时已过期 [Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server 不存在或访问被拒绝。 [Microsoft][ODBC SQL Server 驱动程序]ConnectionRead()

这种情况随机发生在十几台不同的计算机上。我们也有 IP 电话,它们都通过同一个网络运行,并且没有任何问题。我们还可以将 VNC 导入用户计算机并重现他们遇到的错误,但 VNC 仍然可以继续工作。电子邮件也可以。它似乎只是导致问题的 SQL Server 的 ODBC 连接。我们的两个 SQL Server 都会发生错误。我们搜索了谷歌,但还没有找到解决方案。有什么我们可以尝试诊断问题的方法吗?有什么解决办法吗?

更新:

我们在服务器或客户端上都没有内部防火墙。我们通过服务器的 dns 名称通过 TCP/IP 连接(也尝试过 IP 地址)。

一台服务器装有 Windows 2003 SP2,另一台没有。

奇怪的是,它多年来一直运行良好,但现在突然发生了这些错误。很长一段时间以来,这些服务器上没有任何变化。这让我们相信这是一个糟糕的开关,但这似乎不太可能,因为没有其他任何东西(电子邮件、电话、vnc、文件服务器等)都可以正常工作。

【问题讨论】:

标签: sql-server vb6 odbc


【解决方案1】:

查看这篇 Microsoft 知识库文章。

Some problems occur after installing Windows Server 2003 SP2

我还建议您切换到 OLE DB 提供程序。根据我的经验,它比 ODBC 更快,也更可靠。

Connection Strings

向下滚动到:SQL Native Client OLE DB 提供程序

【讨论】:

    【解决方案2】:

    您是否使用非默认实例?还是您有内部防火墙?

    我们更改为“server.fqdn.tld\instance,port”以避免来自内部防火墙后面的客户端的这种确​​切 (IIRC) 间歇性连接问题。

    只有 SQL 连接受到影响。

    【讨论】:

      【解决方案3】:

      我们从来没有弄清楚为什么会发生这种情况。我们将服务器升级到 SQL Server 2008 并且错误消息停止了。

      【讨论】:

        【解决方案4】:

        我最近遇到了一个非常相似的问题,posted it here

        ScottE 找到了解决方案。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-04-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多