http://xwqlzjtu.blog.163.com/blog/static/124185339201172354655857/

 

项目开发中经常会遇到局域网模拟远程访问sqlserver数据库,但是总是失败。很奇怪,现场部署的计算机没有任何问题,为什么开发中的机器就不行呢?

是这样的:
现场开发的机器安装部署环境后不进行任何系统优化,所以安装的sqlserver各项服务都是默认开启的,开发机器上的sqlserver只开了数据服务,其他的服务都默认未开启。原因就再这里--未开启sqlserver browser服务。sql server browser服务为数据库引擎和ssas的每个实例提供实例名和版本号。所以不开启sqlserver browser服务,ssms就无法找到局域网内德其他实例名。
 
在Windows 防火墙中为“SQL Server 2005”创建例外

1.在 Windows 防火墙设置界面中,选择“ 例外” 选项卡,然后单击“添加程序”
2.在“添加程序窗口”中单击“浏览”
3.然后找到“C:/ProgramFiles/Microsoft Files/Microsoft SQL Server/ MSSQL.1 /MSSQL/Binn/sqlservr.exe”,
单击“确定”返回 
注意 : 路径可能会根据 SQL Server 2005 安装不同而不同。 MSSQL.1 是占位符,对应数据库实例ID。
4.对每个需要打开远程访问的SQL Server 2005 实例,重复步骤 1 至 3。

在Windows 防火墙中为“SQLBrowser”创建例外 
1.在 Windows 防火墙设置界面中,选择“ 例外” 选项卡,然后单击“添加程序”
2.在“添加程序窗口”中单击“浏览”
3.然后找到“C:/ProgramFiles/Microsoft Files/Microsoft SQL Server/90/Shared/sqlbrowser.exe”,
单击“确定”返回