SQL Server不存在或访问被拒绝(间歇性)

时间:2014-02-10 17:07:33

标签: sql ms-access sql-server-2012 connection-string

我在SQL Server 2012安装上使用带有链接表的Microsoft Access 2010前端。本地网络。 Access Starts时,运行VBA脚本,该脚本连接到SQL Server并执行一些检查。 我最近从SQL Server 2008升级到2012,那时客户端和服务器之间的连接开始间歇性地失败。

当我的客户端和服务器之间的连接失败时,我看到一条通用消息“SQL Server不存在或访问被拒绝”。 Microsoft支持文章http://support.microsoft.com/kb/328306中对此进行了介绍。该文章中详述的潜在原因与我遇到的麻烦不符。

此连接问题是间歇性的。麻烦每周发生3次,一次持续约30分钟。在这30分钟的故障之间,系统运行良好。

我当前的VBA连接字符串:(尝试了几个,所有问题都存在问题):

Dim conn As ADODB.Connection
Set conn = New ADODB.Connection
conn.Open "Provider=SQLOLEDB;Server=Server3.companydomain.local;Database=My_Database;Trusted_Connection=Yes"

我希望我能在SQL Server日志中找到一些东西(我有权访问),但我不知道要调查哪个日志文件。

3 个答案:

答案 0 :(得分:2)

我对你的问题没有直接的答案,但我相信你可以从探索SQL服务器正在监听的IP和端口开始......机器是否有可能使用DHCP为其分配IP DB服务器也是?在这种情况下,我想可能会在IP刷新时发生。

我们遇到了类似的问题,即在同一台计算机上分配了多个IP(连接了多个NIC),这会造成间歇性中断。

答案 1 :(得分:2)

好吧已经7个月了。这是这个问题的解决方案(在我的例子中): 我的辅助DNS服务器是外部服务器。它无法查找我的数据库(192.168.x.x),因为这是一个内部地址。

当我的应用程序调用主DNS服务器查找SQL Server地址时,它工作正常。当我的主DNS忙,并且应用程序故障转移到辅助DNS时,请求将超时。有人可能会看到此错误的原因有很多。这就是我看到它的原因。

答案 2 :(得分:1)

这有点奇怪,但是当我在我的网站上没有正确的“CLOSE DB CONNECTION”类型代码时,我发现我收到此错误。然后,当有太多用户访问该网站时,我开始收到此错误。

解决方案:在每次数据库调用之后,执行硬关闭数据库连接。是的,大多数数据库连接器都有清理程序,但在负载很重的情况下还不够。

此外,在web.config

中实现高数据库连接限制