在百度经验里,有篇帖子说的很详细。但只是操作层面,没涉及核心问题。我们一旦有任何地方操作错误。远程连接便失败。
作者wsl891128
http://jingyan.baidu.com/article/6c67b1d6ca06f02787bb1ed1.html
我在详细按照此内容操作后还是无法连接远程的SQLServer。
后来发现,服务器的1433端口根本没打开(还是由于操作错误导致,在配置管理器里,协议下IPALL要填写静态TCP端口,动态TCP端口置空)
而我要说的不是如何操作,而是如何发现这个问题的。在参考http://zoulu1.blog.163.com/blog/static/46733149201252752125837/
文章后。我们可使用cmd下的 start telnet x.x.x.x 1433 命令来检测远程服务器端口是否打开。此命令会新建窗口,若远程服务器端口打开,则新建窗口不会关闭;若没打开,则连接会比较慢,显示“正在连接。。。”,超时后关闭。
同时我们在服务器端,可用netstat -anp tcp命令,查看服务器的1433端口是否打开。若打开应该有0.0.0.0:1433 这条记录,如下图。
在确定服务器的端口OK后,再来搞客户机。测试了几种连接方式后,发现Server=x.x.x.x即可,若写为x.x.x.x\sqlexpress倒是错了。而服务器端的链接却需要\sqlexpress。不要问为什么,OK就好。
在此记下
2012-12-07