连接到本地主机时出现SQL Server 08 Express错误 – “超时过期”。 适用于:: 1或127.0.0.1

编辑

新的信息:导航到本地主机:在Chrome中的1434给我一个“ERR_EMPTY_RESPONSE”,而其他端口给我一个“哎呀!这个链接似乎被打破”。 所以它似乎绑定在那里?

所以这是我的设置到目前为止:

  • 我configuration了Windows防火墙,允许1433上的TCP和1434上的UDP。
  • 我已经设置SQL Server使用端口1433上的任何IP(使用SQL Serverconfigurationpipe理器)。
  • 我的主机文件包含默认条目(“127.0.0.1 localhost”和“:: 1 localhost”)。
  • 我有时会有一个运行Web服务器的Visual Web Developerdebugging会话,但它在特定的端口(localhost:5XXXX)上。

我试过了:

  • 我可以在cmd提示符下ping本地主机。
  • 如果我指定127.0.0.1或者:: 1作为服务器名,我可以通过SSMS连接到数据库。
  • 如果我将localhost指定为服务器名称,则无法通过SSMS(或ADO.NET)连接到数据库。 我已经尝试了Windows和SQL身份validation我得到的错误是标准

无法连接到本地主机。 附加信息 – >超时过期。 操作完成之前超时的时间或服务器没有响应。 (Microsoft Sql Server)

其他考虑:

  • 从任务栏停止Visual Web Developer Web服务器不会影响sql问题。
  • SQL错误日志说,它启动时监听一些pipe道名称的URL(我不明白这将如何影响本地主机,但不是127.0.0.1)。

我可能在任何地方都可以使用127.0.0.1,但是令我感到恐慌的是localhost不工作​​,我想知道为什么。

我不是一个networking或SQL服务器的人,所以我卡住了。 如果你想让我尝试任何有助于诊断的东西,只要把它放在一个评论,我会给它一个。

Netstat结果:

将SDK环境设置为相对于C:\ Program Files \ Microsoft SDKs \ Windows \ v6.1

针对Windows Server 2008 x86debugging

 C:\ Program Files \ Microsoft SDKs \ Windows \ v6.1> netstat -ano | 发现1434
   UDP 0.0.0.0:1434 *:* 6868
   UDP [::]:1434 *:* 6868

 C:\ Program Files \ Microsoft SDKs \ Windows \ v6.1> netstat -ano | 发现1433
   TCP 0.0.0.0:1433 0.0.0.0:0聆听2268
   TCP 127.0.0.1:1433 127.0.0.1:50758 ESTABLISHED 2268
   TCP 127.0.0.1:50758 127.0.0.1:1433 ESTABLISHED 5008
   TCP [::]:1433 [::]:0聆听2268
   TCP [:: 1]:1433 [:: 1]:51202 ESTABLISHED 2268
   TCP [:: 1]:1433 [:: 1]:51616 ESTABLISHED 2268
   TCP [:: 1]:51202 [:: 1]:1433 ESTABLISHED 5008
   TCP [:: 1]:51616 [:: 1]:1433 ESTABLISHED 5008

 C:\ Program Files \ Microsoft SDKs \ Windows \ v6.1>

SQL Server日志文件:

如果有帮助

 2010-01-30 12:58:59.01服务器Microsoft SQL Server 2008(SP1) -  10.0.2531.0(Intel X86) 
     Mar 29 2009 10:27:29 
     Copyright(c)1988-2008 Microsoft Corporation
     Express Edition在Windows NT 6.0(生成6002:Service Pack 2)

 2010-01-30 12:58:59.01服务器(c)2005 Microsoft Corporation。
 2010-01-30 12:58:59.01服务器保留所有权利。
 2010-01-30 12:58:59.01服务器服务器进程ID是2268。
 2010-01-30 12:58:59.01服务器系统制造商:“戴尔公司”,系统型号:“Inspiron 1545”。
 2010-01-30 12:58:59.01服务器身份validation模式是MIXED。
 2010-01-30 12:58:59.02服务器logging文件'c:\ Program Files \ Microsoft SQL Server \ MSSQL10.SQLEXPRESS \ MSSQL \ Log \ ERRORLOG'中的SQL Server消息。
 2010-01-30 12:58:59.02服务器SQL Server的这个实例上次使用进程ID 7396在2010年1月30日12:57:38(本地)2010年1月30日下午5:57:38 (世界标准时间)。 这只是一个信息性的消息; 无需用户操作。
 2010-01-30 12:58:59.02服务器registry启动参数: 
      -dc:\ Program Files \ Microsoft SQL Server \ MSSQL10.SQLEXPRESS \ MSSQL \ DATA \ master.mdf
      -ec:\ Program Files \ Microsoft SQL Server \ MSSQL10.SQLEXPRESS \ MSSQL \ Log \ ERRORLOG
      -lc:\ Program Files \ Microsoft SQL Server \ MSSQL10.SQLEXPRESS \ MSSQL \ DATA \ mastlog.ldf
 2010-01-30 12:58:59.02服务器SQL Server以普通优先级base(= 7)开始。 这只是一个信息性消息。 无需用户操作。
 2010-01-30 12:58:59.02服务器检测到2个CPU。 这是一条情报信息; 无需用户操作。
 2010-01-30 12:58:59.08服务器使用dynamiclocking分配。 为每个节点初始分配2500个锁块和5000个锁拥有者块。 这只是一个信息性消息。 无需用户操作。
 2010-01-30 12:58:59.17服务器节点configuration:节点0:CPU掩码:0x00000003活动CPU掩码:0x00000003。 此消息提供了有关此计算机的NUMAconfiguration的说明。 这只是一个信息性消息。 无需用户操作。
 2010-01-30 12:58:59.30 spid7s启动数据库'master'。
恢复正在写一个检查点在数据库“主”(1)。 这只是一个信息性消息。 无需用户操作。
 2010-01-30 12:58:59.67 spid7s FILESTREAM:有效级别= 0,configuration级别= 0,文件系统访问共享名称='SQLEXPRESS'。
 2010-01-30 12:58:59.92 spid7s SQL跟踪ID 1是通过login“sa”启动的。
 2010-01-30 12:58:59.94 spid7s启动数据库'mssqlsystemresource'。
 2010-01-30 12:58:59.95 spid7s资源数据库版本是10.00.2531。 这只是一个信息性消息。 无需用户操作。
 2010-01-30 12:59:00.82 spid7s服务器名称是'DELL \ SQLEXPRESS'。 这只是一个信息性消息。 无需用户操作。
 2010-01-30 12:59:00.83服务器已成功加载自生成的证书进行encryption。
 2010-01-30 12:59:00.84服务器服务器正在监听['any'1433]。
 2010-01-30 12:59:00.84服务器服务器正在监听['any'1433]。
 2010-01-30 12:59:00.84 spid10s启动数据库'model'。
 2010-01-30 12:59:00.85服务器服务器本地连接提供程序已准备好接受[\\。\ pipe \ SQLLocal \ SQLEXPRESS]上的连接。
 2010-01-30 12:59:00.86服务器服务器本地连接提供程序已准备好接受[\\。\ pipe \ MSSQL $ SQLEXPRESS \ sql \ query]上的连接。
 2010-01-30 12:59:00.86服务器专用的pipe理员连接支持未启动,因为在此版本的SQL Server上已禁用该服务。 如果要使用专用的pipe理员连接,请使用跟踪标志7806重新启动SQL Server。这仅是一条参考消息。 无需用户操作。
 2010-01-30 12:59:00.87服务器SQL Servernetworking接口库无法注册SQL Server服务的服务主体名称(SPN)。 错误:0x54b,状态:3.未能注册一个SPN可能会导致集成身份validation回退到NTLM而不是Kerberos。 这是一条情报信息。 只有身份validation策略要求使用Kerberos身份validation时,才需要进一步的操作。
 2010-01-30 12:59:00.87 spid7s提示:找不到全文支持的语言。
 2010-01-30 12:59:00.87服务器SQL Server现在已准备好进行客户端连接。 这是一条情报信息; 无需用户操作。
 2010-01-30 12:59:00.91 spid7s启动数据库'msdb'。
 2010-01-30 12:59:01.21 spid10s清除tempdb数据库。
 2010-01-30 12:59:02.78 spid10s启动数据库'tempdb'。
 2010-01-30 12:59:03.30 spid13s Service Broker协议传输已禁用或未configuration。
 2010-01-30 12:59:03.30 spid13s数据库镜像协议传输已禁用或未configuration。
 2010-01-30 12:59:03.31 spid7s恢复完成。 这只是一个信息性消息。 无需用户操作。
 2010-01-30 12:59:03.31 spid13s Service Brokerpipe理器已经启动。

根据您的其他信息编辑我的答案。

我会按照这里的所有步骤告诉我们。

您应该使用localhost \ SQLEXPRESS连接到SQL Server的本地实例 – 假定实例名为SQLEXRESS。

我注意到,在你的评论中,你说当你这样做的时候你会得到一个错误,你能不能把它发布,因为这可能有助于解决你的问题。

另外,也可以不使用127.0.0.1,而使用连接string中的。\ SQLEXPRESS连接到SQL Server Express的本地实例。

尝试暂时启用远程连接,可能是SQL Server看到一个主机名,并认为它是远程连接。

一些想法…

  1. 你有没有检查你的范围选项为你的防火墙规则的UDP 1434? 尝试显式允许在自定义列表中的本地主机。
  2. 你有没有尝试禁用你的testing服务器上的防火墙? 我不知道你的规则是否有一个时髦的范围选项。 怀疑,但值得做一个testing,并张贴结果作为新的信息。
  3. 您可以在testing服务器上使用任何UDP服务,您可以尝试使用这些服务? 例如,设置一个与Internet上的东西同步的NTP服务器,然后设置你的testing服务器使用它来同步它的时钟。 如果它工作,你知道“本地主机”的作品,你与localhost和SQL Server 08 Express的问题是特定于这两者。

不幸的是,它看起来不像你可以轻松地做一个本地主机数据包捕获(所以你是SOL在那里)…这将是一个整洁的看到。

如果你已经解决了这个问题,我很想知道答案是什么。

在SSMS中连接到服务器时,如果在选项“连接属性”中指定命名pipe道而不是TCP / IP作为networking协议,会发生什么情况?

这是我的netstat,如果有帮助:

C:\ Users \ fff> netstat -ano | findstr 1433 TCP 0.0.0.0:1433
0.0.0.0:0聆听3680 TCP [::]:1433 [::]:0聆听3680

C:\ Users \ fff> netstat -ano | findstr 1434 TCP 127.0.0.1:1434
0.0.0.0:0 LISTENING 3680 TCP [:: 1]:1434 [::]:0 LISTENING 3680 UDP 0.0.0.0:1434
2644 UDP [::]:1434 2644

所以这里有一些小问题。 端口1434 UDP用于SQL Server Browser服务。 这就像SQL DNS,它将您的请求命名实例映射到一个端口号。 SQL将端口号dynamic分配给命名实例,并保留1433 TCP用于默认安装,我不认为Express会这样做。

请尝试这一点,并报告您的发现:127.0.0.1,1433本地主机,1433年,1433年

这与指定名称相同。 打开SQL事件探查器,并在“安全审计”选项卡下查找“login失败,login成功”。 这将显示你是否连接到SQL引擎。 如果你没有看到login尝试,你没有击中引擎,这意味着它被阻止。

你可以尝试改变端口从1433到其他东西,如11433,并报告回来? 您是否在每个networking适配器的SQLconfigurationpipe理器的“dynamic端口”中删除了0? 这也可以帮助。

时间到。 从来没有得到一个有效的答案,但是这是太早前find一个。 感谢所有想要帮助的人。

“我的主机文件包含默认条目(”127.0.0.1 localhost“和”:: 1 localhost“)”

你可以尝试在主机中删除“:: 1 localhost”。 对我来说,看起来没有必要和困惑(一个本地主机应该解决哪个问题?)。 例如,我的HOSTS没有它(只有“本地主机127.0.0.1”),并解决localhost虽然不同

ping -a localhostparsing为启用networking连接的“”:: 1“,当networking连接禁用时parsing为127.0.0.1

此外,请尝试在NIC TCP / IP属性或NIC连接上禁用IPv6,以缩小区域。

等待听到你的结果!


Update1(继续和我自己说话,非常刺激!):

  • 为什么Windows XP安装IPv6但不支持?
  • 为什么ping开始parsing我的电脑名称到APIPA? (卸载IPv6之后)
  • 为什么在HOSTS文件中需要“127.0.0.1 localhost”?