无法连接到 SQL Express(错误:26-无法定位服务器/实例)

28
我正在处理一个运行SQL Server 2008 R2 Express的特定盒子,但无法连接。我已经检查过允许远程连接和TCP/IP已启用,配置了外部IP到1433端口的连接,但使用Wireshark未看到任何入站连接请求,导致怀疑是防火墙问题。服务器由外部公司托管,需要自己解决问题,因为托管公司对此一无所知。

你能提供你正在使用的连接字符串吗? - Sai Kalyan Kumar Akshinthala
我有:server-external-ip\SQLEXPRESS - 0x0000001E
服务器名称没问题,包括你提供的(初始目录、用户名、密码)或(集成安全=true),对吧?因此,请提供完整的连接字符串。这就是实际的问题所在。 - Sai Kalyan Kumar Akshinthala
1
Windows和SQL身份验证都无法工作。它们在服务器本身上工作,因此凭据没有问题。由于我正在使用管理工具,因此没有连接字符串详细信息可提供。 - 0x0000001E
19个回答

1

您能否发布您正在使用的连接字符串,以便我们帮您解决问题?
您可能需要将端口号添加到Data Source值中,因为省略它也可能会导致SQL错误26。

例如:Data Source = ServerHostName\SQLServerInstanceName,1433


0

虽然出现此错误可能有很多原因,但在我的情况下,问题非常简单,我忽略了一段时间。我在Server中使用了服务器IP地址和实例名称,如下所示:

<add name="MyDBConnection" 
connectionString="Persist Security Info=False;User ID=sa;Password=xxx;Database=MyDB;Server=nn.nn.n.nn\SQLInstance01; Connection Timeout=180" providerName="System.Data.SqlClient"/>

正确的连接字符串应该类似于这样(请注意,此示例没有 SQL Server 实例名称)

<add name="MyDBConnection" 
connectionString="Persist Security Info=False;User ID=sa;Password=xxx;Database=MyDB;Server=nn.nn.n.nn; Connection Timeout=180" providerName="System.Data.SqlClient"/>

HTH.


0

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

当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服务,您完成了。


0

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

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

干杯!


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正在侦听),并且您可以从客户机telnet到该端口。

最后,我赞成建议从连接中删除\SQLEXPRESS。

编辑:我应该注意到我正在使用SQL Server 2014 Express。


-1

我在使用SQL Server时遇到了类似的问题,尝试了各种方法但无法连接到数据库引擎,显示错误代码:26。

  • 首先检查数据库引擎是否正在运行。进入配置管理器,路径为开始菜单 > SQL Server > SQL Server 配置管理器。在右侧窗格中,您应该看到 SQL Server (mss..) 处于运行状态,并带有绿色指示。
  • 如果数据库引擎未运行,请卸载 SQL Server 或格式化系统(如果可能),然后从以下链接下载 SQL Server 2012 和管理工具:
    https://www.microsoft.com/en-ca/download/details.aspx?id=29062

  • 首先安装服务器,确保在安装阶段添加服务器,方法是点击“添加服务器”,然后再安装管理工具。


-1

我曾经遇到过类似的问题,解决方法是进入“SQL Server 配置管理器”,确保“SQL Server 浏览器”被配置为自动启动并已启动。

这对我很有效。


-1
在我的情况下,我安装了SQL Express 2012,并且问题是在我重新启动计算机后出现的。我解决了这个问题:
我进入 "服务 -> SQL Server (SQLEXPRESS)",发现它被停止了。我启动了它,然后出现了登录错误。 在属性中,切换到 "登录" 标签,将其更改为 "Local System account",然后我就可以启动SQL服务了。
然后,为了测试一下,我打开了 "SQL Server Management Studio" 并连接到 ".\SQLEXPRESS",它运行正常!

-2
你所需要做的就是进入控制面板 > 计算机管理 > 服务,然后手动启动 SQL Express 或 SQL Server。这对我有用过。
祝你好运。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接