我有一台带有3台机器的小型Windows网络。其中一个安装了SQL 2005。截至上周,其他两台机器连接到SQL实例都没有问题。
今天,一台机器 - 运行Vista,如果重要 - 突然无法连接。我收到通用消息“在建立与SQL Server的连接时出现与网络相关或特定于实例的错误。未找到服务器或无法访问服务器。验证实例名称是否正确以及SQL Server是否配置为允许远程连接。“
我很确定在SQL 2005的情况下,所有内容都已正确设置,因为网络上的第三台计算机仍然可以正常连接。
Vista计算机没有设置防火墙,没有任何改变,除了我几天前创建了与VPN的连接。当连接到VPN时,本地网络连接被清除,但是在尝试访问SQL Server时,我已经多次检查过我没有连接到VPN。我之所以提到这一点,只是因为这是我能想到的唯一改变的东西。
我多次重启所有电脑。没有变化。
我通过SQL Integrated Security连接。登录从第三台机器正常工作。
Vista盒子上还有一件奇怪的事情。偶尔 - 也许有5%的时间 - 它会连接,但是当试图访问一个表(比如,只是右键单击并选择“打开”)时,它会暂停,然后会出现“未指定的错误。”
有什么想法吗?我完全感到困惑。这已经工作了大约18个月而没有任何错误,除了上面提到的VPN连接之外,我想不出任何改变。而且重申 - 当我收到此错误时,我肯定没有连接到VPN。
答案 0 :(得分:0)
检查用于连接SQL Server的协议;我想知道它是否正在尝试通过命名管道而不是TCP / IP进行通信(从最近的经验来看 - 当我禁用命名管道并启用TCP / IP时,我遇到了命名管道的问题)。
您可以使用SQL Server配置工具在服务器上进行检查,并查看SQL Server实例启用了哪些协议(在导航树的“网络配置”分支下)。
答案 1 :(得分:0)
首先,我们知道这里没有客户端服务器通信。因此,根据错误,它不是权限或身份验证(您必须先连接才能被拒绝访问)。
尝试以下方法:
1)Ping - 你能到达服务器吗?在命令提示符下运行此命令:
ping servername
如果这样做,那么至少名称正在解析,客户端可以进行通信。 如果失败,请尝试使用服务器的IP。
2)Telnet - 假设您没有非标准端口(显式更改或命名的SQL Server实例),请在命令提示符下运行:
telnet servername 1433
如果这打开一个空屏幕,那么客户端可以到达该端口。 如果失败,请尝试使用IP的相同命令。如果仍然失败,则您没有从该计算机到SQL Server的路径。您将需要验证外部防火墙或其他网络连接问题。