重新启动后无法远程或本地连接到 SQL Server
上周末进行一些网络维护后,我们的开发服务器出现了一些问题,导致我们重新启动它。 重新启动期间安装了一些更新,这可能是也可能不是一个因素。 从那时起,我们就无法连接到 SQL Server 2005,即使是通过 Management Studio 在本地也是如此。 根据用于连接尝试的协议,我们会收到以下两个错误之一:
- 当您尝试使用命名管道协议或共享内存协议连接到实例时,您会收到以下错误消息:
管道的另一端没有进程。
- 当您尝试使用 TCP/IP 协议连接到实例时,您会收到以下错误消息:
现有连接被远程主机强制关闭。
上述协议均已启用,并且 SQL 服务均正常运行(除了 SQL Server Agent 也无法连接到 SQL Server)。 我们还检查了外围配置工具以确保它接受连接。
这不是证书问题(如在线所示),因为我们不使用加密连接。
有什么建议么? 否则我们可能会采取完全重新安装的方式。
**更新**
进一步的线索:
- 我们可以连接到集成服务,但没有其他
- 我们可以连接到在同一服务器上运行的SQL Server嵌入式版本的实例
After some network maintenance last weekend, we had some trouble with our development server which led to us restart it. Some updates were installed during the restart, which may or may not have been a factor. Since then, we have been unable to connect to SQL Server 2005, even locally via Management Studio. Depending on the protocol used for the connection attempt, we get one of the following two errors:
- When you try to connect to the instance by using the named pipes protocol or the shared memory protocol, you receive the following error message:
No process is on the other end of the pipe.
- When you try to connect to the instance by using the TCP/IP protocol, you receive the following error message:
An existing connection was forcibly closed by the remote host.
The aforementioned protocols are all enabled, and the SQL services are all running happily (apart from the SQL Server Agent, which cannot connect to SQL Server either). We also checked the Surface Area Configuration tool to ensure it accepts connections.
It's not a certificates problem (as seen online) as we don't use encrypted connections.
Any suggestions? Otherwise we will probably resort to a full reinstall.
** UPDATE **
Further clues:
- We can connect to Integration Services, but nothing else
- We can connect to the instance of SQL Server Embedded Edition running on the same server
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
验证 SQL 浏览器服务是否正在运行。 很可能它没有设置为自动启动。
您可能需要查看它的属性以验证它正在侦听正确的网络接口。
运行 SQL Server 配置管理器。 在 SQL Server 2005 网络配置下,您将看到 4 个协议。 然后转到 TCP/IP 属性。 从那里你应该能够弄清楚。
失败的唯一原因是 SQL Server 服务或 SQL Server Browser 服务未运行或者浏览器服务配置错误。
**** 更新 ****
另一种可能性是使用防火墙。 请务必关闭 Windows 防火墙,然后重试。
Verify that the SQL Browser service is running. Most likely it's not set to Auto Start.
You might want to look in it's properties to verify it's listening on correct network interface.
Run the SQL Server Configuration Manager. Under the SQL Server 2005 Network Configuration, you will see 4 protocols. Then go to properties for TCP/IP. You should be able to figure it out from there.
The only reason for this to fail is if the SQL Server service or SQL Server Browser services aren't running or if the browser service is misconfigured.
**** UPDATE ****
Another possibility is the use of a firewall. Be sure to turn off the windows firewall, then try again.
检查“外围区域配置”工具并确保所有设置均正确(远程连接设置为:TCP/IP 等)。
Check the 'Surface Area Configuration' tool and make sure all the settings are correct (Remote connections set to: TCP/IP, etc).
可能性不大,但是您没有在该机器上安装另一个 SQL Server 实例吗?
我知道这可能听起来很奇怪,但最近我遇到过一些情况,我们不得不跳过重重困难,因为客户端一直使用 Backup Exec 作为备份服务,该服务安装自己的 SQL Server 实例来进行自我管理。 这往往会搞砸各种事情并产生不可预测的结果 - 以至于在几次升级时我们删除了 Backup Exec,完成升级并重新安装。 当您进行连接时,完全有可能您并没有尝试连接到您认为的 SQL Server 实例
Long shot, but you don't have another instance of SQL Server installed on that box?
I know that might sound odd, but I've had a few cases recently where we've had to jump through hoops because the client has been using Backup Exec as their backup service, which installs it's own instance of SQL Server to manage itself. This tends to screw up all sorts of things with unpredictable results - to the point where when doing upgrades on a couple of occasions we've removed Backup Exec, done the upgrade, and reinstalled. It's perfectly possible when you do the connect you're not attempting to connect to the instance of SQL Server you think you are
您是否检查过连接端口以确保它尚未被其他东西使用?
Have you checked the connection port to make sure it isn't already used by something else?
尝试使用 DAC(专用管理员连接)进行连接。 http://msdn.microsoft.com/en-us /library/ms178068(SQL.90).aspx
您是否查看过 http://support.microsoft.com/?kbid=942861 ? 这可能是由某些网络适配器芯片组引起的,您可以通过以下方式解决问题:
Try connecting using the DAC (Dedicated Administrator Connection). http://msdn.microsoft.com/en-us/library/ms178068(SQL.90).aspx
Have you looked at http://support.microsoft.com/?kbid=942861 ? It could be caused be some network adapter chipsets and you can fix the issue by:
当我说“这不是证书问题(如在线所示),因为我们不使用加密连接”时,我错了。
显然,我们服务器上的一些旧 SSL 证书导致了这些问题,即使我们似乎没有使用它们。 我仍然不知道为什么,但删除它们(然后从 IIS 中卸载它们)解决了我们的问题。
非常感谢大家的帮助!
When I said "It's not a certificates problem (as seen online) as we don't use encrypted connections", I was wrong.
Apparently, some old SSL certificates we had on the server were causing these problems, even though we didn't appear to use them. I still don't know why, but deleting them (and then uninstalling them from IIS) fixed our problem.
Thanks very much for everyone's help!