參考下這個貼子http://community.csdn.net/Expert/topic/5658/5658706.xml

解决方案 »

  1.   

    情况说明:windowsxp环境下,关闭了自带防火墙开启瑞星防火墙测试,windows2000server下开启瑞星防火墙测试,打开了1433,1434 tcp or udp的端口,放行了sqlserver服务程序,放行了sqlagent,放行了sqlmanager。
    还是不行。
      

  2.   

    我的机器默认就是启用的,我现在针对某一个机器开启了全部任意tcp or udp端口,还是不行。木马都已经传过来了,但是sqlserver还是不行
      

  3.   

    可能是那个账号验证模式的原因.
    要不你就用客户端和服务器端配置工具,看看端口值是不是TCP1433
      

  4.   

    另外我记得防火墙有2种限制连接的模式的.
    一种是针对程序进行限制.
    另一种是针对TCP/UDP进行限制.
    看看你的防火墙是不是这两种模式都是通过的.
      

  5.   

    自己解决了,sqlserver默认通过name pipe和tcp/ip协议进行通讯,前一个也就是命名管道的效率要高些,实际就是微软自己的netbios协议,这个协议通过137,138,139,445端口进行通讯,但是最后必须还要访问1434端口。如果禁止了命名管道协议,只用tcp/ip协议,速度会非常慢,至少我难以忍受,服务可以联上,但是频繁断线。sqlserver在加载防火墙时,必须打开137,138,139,445,1433,1434端口才能正常使用。
    不过前四个端口打开了,防火墙也就没啥用了。不知道还有没有更好的办法能够保证sqlserver正常通讯,还能够保证系统的安全性呢?
    这个问题我自己解决的,怎么算啊?哈哈!谁要给我一个我第二个问题的答案,我另开贴给分!