none
非常奇葩的SQL Server连接问题。 RRS feed

  • 问题

  • 最近电脑上的SQL Server 2008 R2不知发什么癫了,症状相当的奇葩,求各位帮忙解释。

    当server name 为 127.0.0.1 (本机)时,无法使用Windows Authentication方式登录,错误18452;但是可以用 SQL Server Authentication 方式登录。

    如果将 server name 改为 127.000.000.001,则可以使用 Windows Authentication 方式登录,但是连接非常缓慢,SQL Server Management Studio 响应极度迟缓!(实在搞不明白,127.0.0.1 和 127.000.000.001 这两个 IP 不是一样的么,怎么会有这样不同的表现???!)

    如果我使用其他的 server name,比如说localhost, ::1, 局域网内的本机IP,都不会出现这样诡异的问题~

    我把能打开的服务都打开了,SQL Server 的TCP/IP、命名管道也都是正常的,数据库也启用了Windows Authentication,但问题依旧。

    开始怀疑是因为打开了IIS 7,将 127.0.0.1:1239端口绑定到了一个正在开发的网站。但是,想想二者也没什么关系啊,IIS 服务关了也没用。最后我就彻底无语了。

    求大神解释。。


    同心同德同舟楫,济人济事济天下。
    • 已编辑 cheerego 2012年1月21日 14:33
    2012年1月21日 14:32

答案

  • Address 127.0.0.1 is loopback of localhost, don't use it for sql connection. Should use real ip address or sql instance name instead. By the way, 127.000.000.001 is invalid format.
    2012年1月21日 19:22

全部回复

  • 刚刚找到症结了,是某个天杀的软件修改了HOSTS文件。

    127.0.0.1 xxx.com

    怪不得有错误,windows 身份验证会失败。

     

    但我还是没明白,为什么127.000.000.001就和127.0.0.1不一样呢?!!莫非是SSMS做了个hack,如果登录名是127.0.0.1就后者就用Shared memory,否则就是用TCP/IP?


    同心同德同舟楫,济人济事济天下。
    2012年1月21日 14:47
  • Address 127.0.0.1 is loopback of localhost, don't use it for sql connection. Should use real ip address or sql instance name instead. By the way, 127.000.000.001 is invalid format.
    2012年1月21日 19:22