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

现象:

一台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,然后顺利登录,不再报错了,至此问题解决。
最后,惯例,感谢上面两位原创作者!
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
SQLserver2000〔Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server不存在或访问被拒绝 分类: Technology2007-04-20 19:076126人阅读评论(1)收藏举报 SQLserver2000,打开服务管理器时出现错误:〔Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server不存在或访问被拒绝" (一台机器即作服务器又作客户机,软件连接中出现: [DBNETLIB][ConnectionOpen(connect()).]SQL Server 不存在或拒绝访问。 现从网上查阅问题解决办法有如下几种: (A)1:你如果是独立上网的请把21端口打开.局域网把1433端口打开就可以了. 2;关闭防火墙! (B)把数据库连接的 SqlLocalName="(local)" 的(local) 改成 IP试试。可以把(local) 该成127.0.0.1,或者改成外网IP (C)打开服务,暂停全文检索及sql server服务 开启sql server服务 再开启全文检索服务 (D)SQL Server 右键属性==>安全选项中的“所有权链接:”“允许跨数据库所有权链接”前面的勾要勾上(此操作需要重起SQL Server)。 1、先保证ping通 2、在dos下写入telnet ip 1433不会报错 3、用ip连如企业管理器: 企业管理器-->右键SQlserver组-->新建sqlserver注册-->下一步-->写入远程实例名(IP,机器名)-->下一步-->选Sqlserver登陆-->下一步-->写入登陆名与密码(sa,pass)-->下一步-->下一步-->完成 4、如果还不行: sqlserver服务器-->开始菜单-->SQLserver-->服务器网络实用工具-->启用 WinSock代理-->代理地址:(sqlserver服务器IP)-->代理端口-->1433-->OK了 5、如果还不行: sqlserver客户端-->开始菜单-->SQLserver-->客户端网络实用工具-->别名-->添加-->写入别名如"大力"-->"网络库"选tcp/ip-->服务器名称写入远程ip或实例名-->OK了

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值