间歇性 SQL Server ODBC 超时已过期

发布于 2024-07-11 07:54:40 字数 818 浏览 3 评论 0原文

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

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

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

更新:

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

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

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

We have a bunch of VB6 applications that access two different database servers (both 32-bit windows 2003, one SQL Server 2000, one SQL Server 2005). About every ten minutes or so, we are getting a few errors:

[Microsoft][ODBC SQL Server Driver]Timeout expired
[Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server does not exist or access denied.
[Microsoft][ODBC SQL Server Driver]ConnectionRead()

This is happening on more than a dozen different computers at random times. We also have IP phones that all run through the same network and those are not having any problems. We can also VNC into a users computer and reproduce the error they were getting, but VNC still continues to work. Email also works. It just seems to be an ODBC connection to SQL Server that causes the issue. The errors happen for both of our SQL Servers. We have scoured google, but haven't been able to come up with a solution. Is there anything we can try to diagnose the problem? Is there any fix out there?

Update:

We have no internal firewalls on either the servers or clients. We connect through TCP/IP via the dns name of the server (also have tried IP address).

One server has Windows 2003 SP2 and the other doesn't.

The strange thing is that it has worked fine for years and now all of a sudden these errors are happening. Nothing has changed on those servers for quite some time. That leads us to beleive it is a bad switch, but that seems unlikely since nothing else (email, phones, vnc, file server, etc) all work without problems.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

夏了南城 2024-07-18 07:54:40

请查看这篇 Microsoft 知识库文章。

安装 Windows Server 2003 SP2 后出现一些问题

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

连接字符串

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

Take a look at this Microsoft Knowledge Base article.

Some problems occur after installing Windows Server 2003 SP2

I would also suggest that you switch to an OLE DB provider. In my experience, it's faster than ODBC and more reliable too.

Connection Strings

Scroll down to: SQL Native Client OLE DB Provider

落花随流水 2024-07-18 07:54:40

您是否使用非默认实例? 或者你有内部防火墙吗?

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

仅 SQL 连接受到影响。

Are you using non-default instances? Or do you have internal firewalls?

We changed to "server.fqdn.tld\instance,port" to avoid this exact (IIRC) intermittent connection issue from clients behind internal firewalls.

Only SQL connections were affected.

探春 2024-07-18 07:54:40

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

We never did figure out why this was happening. We upgraded our server to SQL Server 2008 and the error messages stopped.

浮华 2024-07-18 07:54:40

我最近遇到了一个非常类似的问题,发布在这里

ScottE 找到了解决方案。

I recently came across a very similar problem and posted it here.

ScottE found the solution.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文