淡泊明志 宁静致远
宠辱不惊 闲看庭前花开花落 去留无意 漫随天外云卷云舒
问题:
在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>

posted on 2008-09-04 08:52  RainWaterLily  阅读(1716)  评论(0编辑  收藏  举报