在Windows 2003 sp1服务器上缺省安装 MS SQL Server 2005 简体中文企业版,在连接服务器时显示“不允许远程连接”。
具体显示如下:(xxxxxsql为服务器名,在本地操作)
C:\Documents and Settings\Administrator>sqlcmd -S xxxxxsql
HResult 0x2,级别 16,状态 1
命名管道提供程序: 无法打开与 SQL Server 的连接 [2].
Sqlcmd: 错误: Microsoft SQL Native Client : 建立到服务器的连接时发生错误。连接到
SQL Server 2005 时,默认设置 SQL Server 不允许远程连接这个事实可能会导致失败。
。
Sqlcmd: 错误: Microsoft SQL Native Client : 登录超时已过期。
解决办法:
1.查看端口,发现没有1433(SQL server的缺省端口)
C:\Documents and Settings\Administrator>netstat -ano
Active Connections
Proto Local Address Foreign Address State PID
TCP 0.0.0.0:21 0.0.0.0:0 LISTENING 2900
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 3672
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING 936
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING 4
TCP 0.0.0.0:1025 0.0.0.0:0 LISTENING 656
TCP 0.0.0.0:1030 0.0.0.0:0 LISTENING 2900
TCP 0.0.0.0:1037 0.0.0.0:0 LISTENING 3296
TCP 0.0.0.0:3389 0.0.0.0:0 LISTENING 620
TCP 1x.xx.xx.18:139 0.0.0.0:0 LISTENING 4
TCP 1x.xx.xx.18:3389 1x.xx.xx.44:1116 ESTABLISHED 620
TCP 127.0.0.1:1038 0.0.0.0:0 LISTENING 3296
UDP 0.0.0.0:445 *:* 4
UDP 0.0.0.0:500 *:* 656
UDP 0.0.0.0:1434 *:* 2380
UDP 0.0.0.0:2967 *:* 1772
UDP 0.0.0.0:3456 *:* 2900
UDP 0.0.0.0:4500 *:* 656
UDP 1x.xx.xx.18:123 *:* 1096
UDP 1x.xx.xx.18:137 *:* 4
UDP 1x.xx.xx.18:138 *:* 4
UDP 127.0.0.1:123 *:* 1096
UDP 127.0.0.1:1027 *:* 1096
UDP 127.0.0.1:3456 *:* 2900
2.进入SQL Server Configuration Manager,查看配置
SQL Server 配置管理器(本地)
->SQL Server 2005 网络配置
->HLHEBSQL 的协议
-> TCP/IP
右键->属性
无法远程连接问题。
发现服务器地址IP1,未启用,端口使用的是动态端口。
按如下更改后,重新启用SQL Server服务。
注意:一定要IPALL的TCP动态端口删除,TCP端口改为1433,只改IP1不好用,在这个问题很多网上的解决办法都没有明确,走了很多的弯路!
3. 重新查看端口,可以看到1433已经打开
C:\Documents and Settings\Administrator>netstat -ano
Active Connections
Proto Local Address Foreign Address State PID
TCP 0.0.0.0:21 0.0.0.0:0 LISTENING 2900
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 3672
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING 936
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING 4
TCP 0.0.0.0:1025 0.0.0.0:0 LISTENING 656
TCP 0.0.0.0:1030 0.0.0.0:0 LISTENING 2900
TCP 0.0.0.0:1433 0.0.0.0:0 LISTENING 1532
TCP 0.0.0.0:3389 0.0.0.0:0 LISTENING 620
TCP 1x.xx.xx.18:139 0.0.0.0:0 LISTENING 4
TCP 1x.xx.xx.18:3389 1x.xx.xx.44:1116 ESTABLISHED 620
TCP 127.0.0.1:1038 0.0.0.0:0 LISTENING 1532
UDP 0.0.0.0:445 *:* 4
UDP 0.0.0.0:500 *:* 656
UDP 0.0.0.0:1434 *:* 2380
UDP 0.0.0.0:2967 *:* 1772
UDP 0.0.0.0:3456 *:* 2900
UDP 0.0.0.0:4500 *:* 656
UDP 1x.xx.xx.18:123 *:* 1096
UDP 1x.xx.xx.18:137 *:* 4
UDP 1x.xx.xx.18:138 *:* 4
UDP 127.0.0.1:123 *:* 1096
UDP 127.0.0.1:1027 *:* 1096
UDP 127.0.0.1:3456 *:* 2900
4. 重新执行SQLCMD,成功
C:\Documents and Settings\Administrator>sqlcmd -S xxxxxsql
1>