出于疑难解答的目的,我希望能够检查客户端是否可以连接到sql Server实例,而与可能无法连接到sql Server的应用程序无关.
是否有一种简单的方法(这意味着,无需安装第三方软件)使用默认的Windows系统工具执行此操作?也许使用脚本或网络应用程序?
解决方法
如果服务器使用TCP / IP,那么简单的方法是只是telnet到sql Server端口并查看它是否连接.默认情况下,这是端口1433,所以这应该工作:
telnet servername 1433
在大多数情况下,这可能是合适的.
如果它使用不同的端口或动态端口(与命名实例相同),那么您需要确定它当前正在侦听的端口.检查sql Server配置管理器以查看它是特定端口还是动态端口.如果它使用动态端口,那么只要您在服务器上没有多个实例,netstat -abn可能是找到它正在使用的最简单的方法.否则,请浏览Windows事件日志或sql Server错误日志,以获取指示实例正在使用哪个端口的消息.
如果sql Server使用命名管道,那么我相信如果您能够访问计算机上的共享,则您具有足够的网络连接.本文说您可以更进一步尝试连接到IPC $共享:
http://msdn.microsoft.com/en-us/library/aa275787%28v=sql.80%29.aspx
net use \\servername\IPC$
这是为sql Server 2000编写的,但我认为这方面没有太大变化,如果有的话.