27

对于一个运行 SQL Server 2008 R2 Express 的特定机器,我处于松散的状态。

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

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

标题:连接到服务器

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

附加信息:

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

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

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

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

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

这让我认为这是一个防火墙问题。

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

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

4

18 回答 18

50

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

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

我希望这可以帮助那里的人。

于 2012-02-15T11:38:37.927 回答
25

windows+R打开运行窗口

services.msc 

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

于 2016-05-08T04:59:40.370 回答
17

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

于 2013-02-08T09:02:16.607 回答
6

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

遵循上面的相同建议:

特别是我的问题是我没有在 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 的建议。

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

于 2015-04-10T23:39:31.113 回答
5

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

  1. 使用文本编辑器创建一个名为 test.udl 的空文件
  2. 双击文件 test.udl,然后指定您的连接属性
  3. 点击“测试连接”按钮。
于 2011-06-24T12:41:17.227 回答
3

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

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

于 2016-07-20T11:09:08.470 回答
1

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

于 2015-01-20T07:13:40.863 回答
1

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

于 2014-01-26T21:43:23.253 回答
1

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

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

于 2016-10-31T11:37:52.240 回答
0

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

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

干杯!

于 2012-11-21T20:16:47.480 回答
0

我发现这个网址非常有用: 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。

于 2015-03-13T20:24:38.323 回答
0

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

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

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

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

而已 。现在启动 MS SQL 服务,您就完成了。

于 2015-06-17T11:18:54.530 回答
0

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

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

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

然后我搜索了很多,直到我发现有人 这里需要在.$ServerName\$DatabaseInstanceName,1433

添加后,异常变为:

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

然后我找到了这个链接。它说要添加Trusted_Connection=False;.

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

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

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

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

于 2022-01-05T06:17:59.377 回答
0

如果你做了什么,但无论如何都无法连接?!在我的情况下,我更改了连接部分拆分端口“,”而不是这个“:”

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

于 2020-04-02T09:37:49.720 回答
-1

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

于 2014-01-02T06:16:30.993 回答
-1

就我而言,我安装了 SQL Express 2012 并在我重新启动 PC 后出现问题。我这样解决了:

我转到Services -> SQL Server (SQLEXPRESS),我看到它已停止。我开始了,据说登录错误。在属性中,选项卡登录,我将其更改为本地系统帐户,然后我可以启动 SQL 服务。

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

于 2013-10-14T18:25:48.610 回答
-1

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

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

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

于 2015-06-07T15:34:04.707 回答
-2

您需要做的就是转到控制面板 > 计算机管理 > 服务并手动启动 SQL Express 或 SQL 服务器。它对我有用。

祝你好运。

于 2015-11-03T15:50:43.690 回答