2011-04-21 154 views
0

我有一台机器只能偶尔连接到2008 SQL服务器。我创建了一个监视脚本,我已经自动尝试连接(通过sqlsrv驱动程序和php)每15分钟一次。这个脚本在过去的两周内运行良好,但最近它报告了一个SQL服务器正在关闭。在广泛的调查中,除了机器自动执行监控脚本之外,我能够连续地从其他机器连接到它。这个脚本还连接到另外两个SQL服务器(都是sql server 2005),没有任何问题。以下是我尝试解决故障的方法: 1.重置两台机器(多次) 2.尝试通过几次不同次数的登录尝试连接(包括sa)。 3.删除并重新创建登录并尝试连接。 4.原来关闭Windows防火墙(SQL服务器上运行win2k8)SQL Server访问问题

这是我收到的时候我无法连接错误:http://pastebin.com/9d80mAyV

通常它不会约5企图(间隔15分钟)工作,然后它将工作1次。然后再失败5次。没有绝对的一致性。

我的想法是,它已经将我的客户列入黑名单,以免经常连接。这可能吗?我怎么能解决这个问题?任何其他想法或建议?

+0

你看过你的服务器日志吗?他们可能会提供一些指示,说明原因是否由于资源限制(错误消息中列出的可能原因)。 – 2011-04-21 20:09:51

+0

与同事交谈之后还有一个想法......错误代码64“通常意味着连接已被本地或远程重置。丢弃数据包的网络很可能是导致此错误的原因之一(例如对等由于某种原因已经无故关闭连接)“。所以,你可能想要调查坏的网络硬件(例如有故障的网卡或交换机)。你只在这台机器上看到这一点的事实也支持这种可能性。 – 2011-04-21 21:08:40

回答

0

的详细原因需要:

  1. 你在使用连接?它是一个应用程序或管理工作室(什么版本?)
  2. 服务器位于何处?即你在同一个网络上吗?

您可以尝试增加连接超时。如果您从管理工作室连接,则可以在服务器注册属性中执行此操作。

或者,您可以在服务器本身上设置sql监控,并在发生故障时向您发送电子邮件。

+0

连接正在使用来自Microsoft的sqlsrv api在php中完成。服务器位于外部网络上,但我们有一个光纤连接,并且ping小于3ms。我增加了服务器和脚本上的超时,但没有运气。 – landtax 2011-04-21 12:50:41