人不**枉少年
最近在公司做开发,要用到SQL Server的Report Service功能,于是就装了个SQL Server 2005 Development Edition。结果不想上来就被摆了一道,被远程连接的问题给郁闷了。
情景是这个样子,我在一台机器(域账号登录)上安装的SQL,想在我的本本(本地帐号登录)对其进行远程操作配置。我在自己的本本上安装了Management Studio等工具,在登录SQL服务器的时候就冒出一堆各种各样的古怪错误。现在把解决方案列在下面。
对于Express和Development版本的SQL Server,默认是禁止远程访问的(真不知道M$怎么想的,>_<)。因此需要在外围配置器里进行配置。启动SQL Server 2005 Surface Area Configuration,点击Surface Area Configuration for Services and Connections,从左边找到Database Engine下的Remote Connections,选中,然后在右边将其改成Local and Remote connections->Using both TCP/IP and named pipes;然后从左边选中Database Engine下的Service,先将其stop然后再start。这样外围就没问题了。
由于我的本本没有加入域,所以最理想的登录方式,还是使用Windows与SQL Server混合验证,并且激活sa帐户。这样在远程即使没有Windows权限,也可以登录(很重要!)。
在要不要开SQL Browser这个问题上,仁者见仁智者见智。我也觉得可开可不开。登录到域的机器会有WINS名称,如果是用这个当作数据库的名称写在连接字符串内,那就必须要开此服务,否则只能用IP登录。对于拥有静态IP(或者局域网内DHCP的IP持续时间很长)的机器,完全可以用IP登录,此时该服务就无关紧要了。
另外,开启此服务后,在一些客户端操作中可以通过Refresh来自动retrieve当前局域网内所有可用的SQL服务。可惜我那个没有加入域的本本,就没能刷新看到我服务器上的SQL服务,目前尚不能肯定是不是因为域的关系。但对于自己给自己建的服务器,SQL服务名称肯定是记得的,也没人会指望从refresh出来的列表里去选吧。。