【问题标题】:Unable to connect to SQL Express "Error: 26-Error Locating Server/Instance Specified)无法连接到 SQL Express “错误:26-错误定位服务器/指定的实例)
【发布时间】:2011-09-21 22:59:35
【问题描述】:

我在一个运行 SQL Server 2008 R2 Express 的特定机器上手忙脚乱。

  • Windows 防火墙配置为允许入站 TCP 和 UDP 1433、1434。
  • Windows 防火墙配置为允许任何端口上的出站 TCP 和 UDP。
  • 当前没有其他软件 AV/FW 正在运行。

当我尝试连接到xxx.xxx.xxx.xxx\sqlexpress 时,它超时并出现以下错误:

TITLE:连接到服务器

无法连接到 xxx.xxx.xxx.xxx\SQLEXPRESS。

附加信息:

与 SQL Server 建立连接时出现与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。 (提供者:SQL 网络接口,错误:26 - 错误定位服务器/指定的实例)(Microsoft SQL Server,错误:-1)

我已检查服务器上是否允许远程连接。

我已确认 TCP/IP 已启用并在 SQL Server 配置中配置为允许外部 IP 上的连接到 1433。

我还在本地机器上使用了 Wireshark,我可以看到 1433 UDP 请求发送到远程服务器。

但是在远程服务器上使用 Wireshark 显示没有对 1433 UDP 或来自我的外部 IP 的任何内容的入站连接请求(从结果中过滤到远程 RDP)。

这让我觉得是防火墙问题。

服务器由外部公司托管,该公司可以控制我们服务器前面的 PIX。

我需要自己尽可能多地解决此问题,因为托管公司不知道他们在做什么。

【问题讨论】:

  • 你能提供你正在使用的连接字符串吗?
  • 我有:server-external-ip\SQLEXPRESS
  • 服务器名称没问题,包括您提供的(初始目录、用户名、密码)或(集成安全性 = true)对吗?因此,提供整个连接字符串。实际问题来了。
  • Windows 和 SQL 身份验证都不起作用。它们在服务器本身上工作,因此凭据没有问题。由于我使用的是 Management Studio,因此没有可提供的连接字符串详细信息。

标签: sql sql-server sql-server-2008r2-express


【解决方案1】:

我有一个类似的问题,通过转到“SQL Server 配置管理器”并确保“SQL Server Browser”配置为自动启动并已启动来解决。

我在这个论坛帖子的回答中遇到了这个解决方案: http://social.msdn.microsoft.com/Forums/en-US/sqlexpress/thread/8cdc71eb-6929-4ae8-a5a8-c1f461bd61b4/

我希望这对那里的人有所帮助。

【讨论】:

  • 是否可以通过命令行界面来实现?因为“SQL Server Browser”被我的公司屏蔽了
  • 帮助了我。我忘了在故障排除过程中,我会关闭 SQL 浏览器。
【解决方案2】:

windows+R打开运行窗口

services.msc 

找到 SQL Server(SQLEXPRESS) 右键单击​​它并启动服务 然后检查

【讨论】:

  • 谢谢,在我的 SQLExpress 上,我还应该在安装并重启电脑后将服务的帐户更改为“本地系统帐户”,一个不存在的 SQL 帐户会导致此问题。
【解决方案3】:

转到 SQL Server 配置管理器 > SQL Server 服务 > 在右侧窗口中显示所有可能停止的服务器。如果您使用的是 "SQLEXPRESS" 那么, 右键单击 SQL Server(SQLEXPRESS) 并启动。尝试连接服务器后...我遇到了同样的问题,但我通过这些步骤解决了。

【讨论】:

  • 我尝试了这一步,但我的 sqlexpress 已经在运行.. 我仍然无法连接
【解决方案4】:

我最近遇到了同样的问题,但是我使用的是 Windows 10 Technical Preview Build 10041 和 SQL Server 2014(高级)。

遵循上面的相同建议:

特别是我的问题是我没有在 Sql 中启用 TCP/IP 服务器配置管理器->SQL Server 网络 配置->SQLEXPRESS 的协议。

打开它后,您必须转到“IP 地址”选项卡,对我来说, 将 IPAll 更改为 TCP 端口 1433 并删除 TCP 动态端口 价值有效。

按照其他步骤确保 1433 正在侦听(使用 netstat -an 确保 0.0.0.0:1433 正在侦听。),并且您可以远程登录 来自客户端计算机的端口。

最后,我赞同从 连接。

AND ----> 最后一行很重要!它看起来是特定于 Windows 10 的;从连接字符串中删除 \SQLEXPRESS。令人沮丧的是,SQL Management Studio 使用任一连接字符串(完整或短)都可以很好地连接,但是 Visual Studio 只接受没有 \SQLEXPRESS 的连接字符串。

【讨论】:

  • 谢谢!连接字符串“compname\”工作正常。默认“compname\sqlexpress”根本不起作用。
  • 我可以确认,只有 IP/主机名 w/o \SQLEXPRESS 适用于 Windows 10
【解决方案5】:

这是解决连接问题的简单方法:

  1. 使用文本编辑器创建一个名为 test.udl 的空文件
  2. 双击文件 test.udl,然后指定您的连接属性
  3. 点击“测试连接”按钮。

【讨论】:

  • 通过让托管服务提供商更改上述端口的像素来解决此问题。然而,这么简单的请求确实花了将近 4 小时 30 分钟。
【解决方案6】:

服务器上的活动防火墙可能会导致此问题。您可以尝试(暂时)将其关闭,看看是否能解决问题。

如果确实是防火墙引起的,据说你应该可以通过将 TCP 端口 1433 设置为允许的入站规则添加来解决它,但我个人无法通过这种方式连接。

【讨论】:

    【解决方案7】:

    一切都是为了安全。在某些情况下,当您禁用 av 防火墙并重新启动计算机时,请确保您仔细检查了您的防火墙(Windows 和防病毒),Windows 防火墙自动处于活动状态并且它仍然阻止您的应用程序。希望这有帮助..

    【讨论】:

      【解决方案8】:

      我遇到了同样的问题,但我通过在 SQL CONFIGURATION MANAGER 中重新启动浏览器服务并在连接窗口中从实例名称中删除 \SQLEXPRESS 解决了。

      【讨论】:

        【解决方案9】:

        能否发布您正在使用的给您带来麻烦的连接字符串?
        您可能需要将端口号添加到 Data Source 值,因为省略它也会产生 SQL 错误 26。

        例如:数据源=ServerHostName\SQLServerInstanceName,1433

        【讨论】:

          【解决方案10】:

          您是否在 SQL 配置管理器中禁用了 VIA 设置?如果没有,请先禁用它(如果启用了 VIA,则无法连接),是的,必须启用 TCP。试一试,它应该可以正常工作。

          仅针对该特定实例名称进行更改。

          干杯!

          【讨论】:

            【解决方案11】:

            我发现这个网址非常有用: https://social.msdn.microsoft.com/Forums/sqlserver/en-US/2cdcab2e-ea49-4fd5-b2b8-13824ab4619b/help-server-not-listening-on-1433

            特别是我的问题是我没有在 Sql Server Configuration Manager->SQL Server Network Configuration->Protocols for SQLEXPRESS 中启用 TCP/IP。

            打开它后,您必须转到 IP 地址选项卡,对我来说,将 IPAll 更改为 TCP 端口 1433 并删除 TCP 动态端口值有效。

            按照其他步骤确保 1433 正在侦听(使用 netstat -an 确保 0.0.0.0:1433 正在侦听。),并且您可以从客户端计算机远程登录到该端口。

            最后,我同意从连接中删除 \SQLEXPRESS 的建议。

            编辑:我应该注意我使用的是 SQL Server 2014 Express。

            【讨论】:

              【解决方案12】:

              这真的有效..我验证了很多网站,终于得到了答案

              这可能发生在 master.mdf 或 mastlog.ldf 损坏时。为了解决问题,请转到以下路径

              C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL ,在那里你会找到一个文件夹“Template Data”,复制master.mdf和mastlog.ldf并替换到

              C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA 文件夹。

              就是这样。现在启动 MS SQL 服务就完成了。

              【讨论】:

                【解决方案13】:

                如果您做了任何事情,但仍然无法连接?!! 在我的情况下,我更改了连接部分拆分端口“,而不是这个“:”

                连接字符串中未指定对应的TCP端口或管道名称(如Srv1\SQL2008, 1433)。

                【讨论】:

                  【解决方案14】:

                  在 IT 人员更改了 SQL Server 上的一些安全设置之后,这个问题也让我困惑了几天。

                  我有一个用于 Web 应用程序和桌面应用程序的 EntityFramework

                  我在 SQL Server 上更改了一些设置后,Web 应用程序恢复工作,但桌面仍然面临问题。但是我对两个应用程序都使用了相同的连接字符串,一个工作但另一个没有工作没有意义。

                  然后我搜索了很多,直到我发现有人说here需要在$ServerName\$DatabaseInstanceName,1433之后添加端口号1433

                  我添加之后,异常变成了:

                  System.Data.SqlClient.SqlException:用户登录失败 '域名\名称-PC$'

                  然后我发现了这个link。它说要添加Trusted_Connection=False;

                  整个连接字符串应该是这样的:

                  data source=XXXXX\SQLSERVER,1433;initial catalog=XXXDB;user id=UserID;password=PWD;Trusted_Connection=False;MultipleActiveResultSets=True;
                  

                  希望这个答案能帮助那些摆脱通用异常的人:

                  错误:26-错误定位服务器/指定的实例

                  【讨论】:

                    【解决方案15】:

                    在我的情况下,我安装了 SQL Express 2012,并且在我重新启动 PC 后问题出现了。我这样解决了:

                    我转到 Services -> SQL Server (SQLEXPRESS),我看到它已停止。我开始了,据说登录错误。 在属性中,Tab Log On,我把它改成Local System account,然后就可以启动SQL服务了。

                    然后为了测试它,我转到 SQL Server Management Studio 并连接到 .\SQLEXPRESS 并且它工作正常!

                    【讨论】:

                      【解决方案16】:

                      我有一个类似的问题,通过转到“SQL Server 配置管理器”并确保“SQL Server Browser”被配置为自动启动并已启动来解决。 它对我有用

                      【讨论】:

                        【解决方案17】:

                        我在使用 sql server 时遇到了类似的问题,我已经尝试了所有方法但没有连接到数据库引擎并且它显示错误:26。

                        • 首先检查数据库引擎是否正在运行。通过进入 配置管理器。开始 > sql server > sql server 配置 经理。在右侧窗格中,您应该看到 sql server (mss ..) 应该是运行状态并带有绿色指示。
                        • 如果数据库引擎没有运行,只需卸载sql 如果可能,服务器/格式化您的系统,然后下载 sql 服务器 2012 和管理工作室。来自
                          https://www.microsoft.com/en-ca/download/details.aspx?id=29062

                        • 先安装服务器,确保在安装阶段添加服务器
                          点击添加服务器,然后安装管理工作室。

                        【讨论】:

                          【解决方案18】:

                          您只需进入控制面板 > 计算机管理 > 服务 并手动启动 SQL express 或 SQL server。 它对我有用。

                          祝你好运。

                          【讨论】:

                            猜你喜欢
                            • 1970-01-01
                            • 2015-06-07
                            • 1970-01-01
                            • 1970-01-01
                            • 2013-08-11
                            • 2016-02-26
                            • 1970-01-01
                            • 1970-01-01
                            • 2012-11-25
                            相关资源
                            最近更新 更多