是这样的。我在帮客户配置远程访问,也就是分支机构访问总部那边的SQL数据库,总部用的铁通的网。
在总部那边路由器中做了1433的端口映射。
分支这边能ping通总部的路由器,并且telnet xx.xx.xx.xx 1433也是成功的。但就是连不上数据库。
(注,总部那边所有防火墙全部关了,数据库也打了sp4补丁)郁闷了好几天。希望有高手帮我解决一下。不胜感激!!

解决方案 »

  1.   

    一、为 SQL 启用远程连接1. 开始-->程序-->Microsoft SQL Server 2005-->配置工具-->SQL Server 外围应用配置器2. 在“SQL Server 2005 外围应用配置器”页上,单击“服务和连接的外围应用配置器”。 
    3. 在“服务和连接的外围应用配置器”页上,展开“数据库引擎”,单击“远程连接”-->“本地连接和远程连接”,单击适用于您的环境的相应协议,然后单击“应用”。注意:请在接收到以下消息时单击“确定”:
    直到重新启动数据库引擎服务后,对连接设置所做的更改才会生效。4. 在“服务和连接的外围应用配置器”页上,展开“数据库引擎”,依次单击“服务”-->“停止”,等待 MSSQLSERVER 服务停止,然后单击“启动”以重新启动 MSSQLSERVER 服务。二、启用 SQL Server Browser 服务(我就是没有启动此项服务...orz...)1. 开始-->程序-->Microsoft SQL Server 2005-->配置工具-->SQL Server 外围应用配置器2. 在“SQL Server 2005 外围应用配置器”页上,单击“服务和连接的外围应用配置器”。 
    3. 在“服务和连接的外围应用配置器”页上,单击“SQL Server Browser”,在“启动类型”中单击“自动”选项,然后单击“应用”。注意:在单击“自动”选项后,每次启动 Microsoft Windows 时将自动启动 SQL Server Browser 服务。4. 单击“启动”,然后单击“确定”。三、在 Windows 防火墙中为SQL Server 2005 创建例外(本地服务器,没开防火墙,所以此项暂时没用到)1. 在 Windows 防火墙中,单击“例外”选项卡,然后单击“添加程序”。 
    2. 在“添加程序”窗口中,单击“浏览”。 
    3. 单击 C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn\sqlservr.exe 可执行程序,单击“打开”,然后单击“确定”。注意:上述路径可能会根据 SQL Server 2005 的安装位置而不同。四、在 Windows 防火墙中为 SQL Server Browser 服务创建例外1. 在 Windows 防火墙中,单击“例外”选项卡,然后单击“添加程序”。 
    2. 在“添加程序”窗口中,单击“浏览”。 
    3. 单击 C:\Program Files\Microsoft SQL Server\90\Shared\sqlbrowser.exe 可执行程序,单击“打开”,然后单击“确定”。注意:上述路径可能会根据 SQL Server 2005 的安装位置而不同。五、远程连接端口设置(很关键的一步,很多方法只讲了一到四步,却没有讲到第五步)1、在服务器上打开SQL Server Configuration Manager。选择SQL Server配置治理器->SQL Server 2005网络配置->MSSQLSERVER的协议->TCP/IP,在弹出对话框中选择IP地址->IPALL->TCP端口,设置为可用端口。(如果默认的1433端口老是连接不上,你就设置为你确认已经打开的端口试试,如21端口等)2、在“服务和连接的外围应用配置器”页上,展开“数据库引擎”,依次单击“服务”和“停止”,等待 MSSQLSERVER 服务停止,然后单击“启动”以重新启动 MSSQLSERVER 服务。六、测试连接1、打开SQL2005登陆界面,输入服务器IP和用户名及密码。
    如:
    服务器名称:192.168.1.200,21
    用户名:sa
    密码:sa
    点连接,结果连接成功。
    PS:上面的服务器名称中的,21中的21第五步中第1步中设置的IPALL中的TCP端口
    参考下