为什么本机上无法用127.0.0.1登录SQL Server

来源:互联网 发布:微信上免费送礼品淘宝 编辑:程序博客网 时间:2024/05/21 18:34
现象:

一台XP机器,安装了SQL Server  2000,本机上既可用SQL Server服务器名(或(local)或 “.” ) 也可用127.0.0.1登录SQL Server。

而在一台Win7 机器上,安装的是SQL Server  2005,却无法在本机上用127.0.0.1登录SQL Server 。 开始以为是操作系统或SQL Server 2005的原因,但经过仔细研究,发现问题所在。

无法在本机上用127.0.0.1登录SQL Server,是因为 SQL Server  “服务器网络实用工具”中禁用了“命名管道”所致!(在SQL Server 2005中同样有这一现象) 

 

【转】为什么本机上无法用127.0.0.1登录SQL Server - axdhxyzx - axdhxyzx的博客


【笔者注:以下是CSDN中一个求助帖中的一条回复】
Lyongt
Lyongt
等级:Blank
#5 得分:0回复于: 2012-02-08 19:10:29
cmd命令:SQLServerManager10.msc
试一下,只有2000下才有服务器网络实用工具和客户端网络实用工具
2005和2008下是菜单下数据库-》配置工具-》SQL Server 配置管理器

【笔者小结】
笔者之前电脑里的SQL数据库的服务器名称是可以使用127.0.0.1,所以若干网站项目的Web.config文件中的连接字符串写的都是“server=127.0.0.1”,后来笔者重装电脑系统WIN7,重装一系列(大家懂的).NET4.0~SQL Server2008~VS2010...,在装sqlserver2008时登录的服务器名称只能是用我的计算机名称XXXXXXXX-PC,当时也没太在意,想着反正能用就得了。可是后来发现一个问题,我的项目文件在公司里完成时需要同时同步到skydrive里,然后下班回家后再从skydrive中同步到家里的笔记本中,如果家里的数据库名称与公司里的数据库名称不一致的话,那我需要反复修改Web.config文件中的连接字符串。而数据库不管装到哪台电脑中,有3个服务器名称是一致的:.、127.0.0.1、localhost(或(local)),那么我为什么不能使用127.0.0.1这个服务器名称呢?于是乎,百度。。。,就有了上面两个部分的资料。
上面第一部分的作者网友帮忙解决了为什么127.0.0.1不能作为服务器名称使用,答案就是命名管道协议被禁用了!但是问题是我的sqlserver是2008版的,第二部分的作者网友帮忙澄清了这个概念:只有2000版才有网络实用工具,而2005和2008版都升级为配置管理器了!于是乎,打开我的sqlserver2008的配置管理器,豁然傻了,请看下图:
【转】为什么本机上无法用127.0.0.1登录SQL Server - axdhxyzx - axdhxyzx的博客
与之前的那个网络实用工具界面不太一样啊!呵呵,不过瞬间懵了之后,又突然灵光一现,网络实用工具里不是配置禁用的协议和启用的协议吗?我这里也有协议啊,于是单击MSSQLSERER的协议(我用的不是EXPRESS版),里面第二项的协议名称是:Named Pipes,虽然单词不敢确认,但基本可以翻译成命名管道啊(我截图前的状态为禁用)!于是我右键单击后启用该协议,再进入连接到服务器的登录界面,服务器名称改为127.0.0.1,然后顺利登录,不再报错了,至此问题解决。
最后,惯例,感谢上面两位原创作者!
原创粉丝点击