SQL网络接口,错误:26 - 错误定位服务器/实例指定(SQL Network Interfac

2019-06-21 17:36发布

嗯,我有我尝试了几天解决的一个大问题,但我不能这样做,所以我需要你的帮助。 我在asp.net 4.0中的Web应用程序,其中我实现了自定义成员资格和角色提供。 当我打开应用首页中它连接到数据库并获取一些信息。 还有一个登录表单,当我登录它通过数据库验证用户和重定向我保留的网页,但不是出现这样的错误:

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

描述:

当前Web请求的执行过程中发生未处理的异常。 请检查堆栈跟踪有关该错误它起源于代码的详细信息和。

异常详细信息:

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

源错误:

在当前web请求的执行过程中生成未处理的异常。 有关异常原因和发生位置的信息可以使用异常堆栈跟踪下面来识别。

我试过很多东西,一些解决方案,我的计算器 ,但没有找到工作。 这里是我的ConnectionStrings:

<connectionStrings>
  <clear/>
  <remove name="LocalSqlServer"/>
     <add name="LocalSqlServer" connectionString="Data Source=MSSQL2008-1;Initial Catalog=agency;
        Integrated Security=False;User ID=adis_agency;Password=niarda2012;Connect Timeout=180;Encrypt=False;
        Packet Size=4096" providerName="System.Data.SqlClient" />
     <add name="AgencyConn" connectionString="Data Source=MSSQL2008-1;Initial Catalog=agency;
        Integrated Security=False;User ID=adis_agency;Password=niarda2012;Connect Timeout=180;Encrypt=False;
        Packet Size=4096" providerName="System.Data.SqlClient"/>
</connectionStrings>

下面也是成员和角色管理器的web.config部分:

<membership defaultProvider="AuthProvider">
  <providers>
    <clear/>
      <add name="AuthProvider" type="AuthenticationProvider" applicationName="~/Reserved/" connectionStringName="AgencyConn"/>
  </providers>
</membership>
<roleManager enabled="true" defaultProvider="MyRoleProvider">
  <providers>
    <clear/>
      <add name="MyRoleProvider" type="RoleAccessProvider" connectionStringName="AgencyConn"/>
  </providers>
</roleManager>

请任何人可以帮助弄清楚什么是错?

Answer 1:

如果是从Windows计算机的连接到Windows机器B(与SQL Server安装的服务器),并收到此错误,你需要做到以下几点:

在计算机B:

1)打开名为“SQL Server浏览器”的Windows服务和启动服务

2.)在Windows防火墙,使机器A传入端口UDP 1434(在例子中是SQL Server Management Studio中被连接或机器A的程序被连接)

3.)在Windows防火墙,使输入端口TCP 1433(如果有一个telnet连接)

4)在SQL Server配置管理器,启用端口1433的TCP / IP协议



Answer 2:

对我来说,问题是,DNS记录错了...

以下,这被证明是非常有帮助的,主要是取自这个博客帖子 。

此错误消息实际上是非常具体的,该解决方案相当简单。

你得到的只是,如果你正在试图连接到SQL Server命名实例此错误消息。 对于默认实例,你永远看不到这一点,因为即使我们没有在这个阶段(即错误定位服务器/实例指定),我们将继续尝试使用默认值,如默认的TCP端口1433,默认的管道名称命名管道连接。

每次客户端向SQL Server的命名实例的连接,我们将发送一个UDP SSRP包到服务器机器的UDP端口1434。我们需要这一步知道SQL实例的配置信息,例如,启用协议,TCP端口,管命名等等。没有这些信息,客户不知道如何连接并失败,出现此错误消息。

总之,我们得到这个错误信息的原因是客户端堆栈无法从SQL浏览器中收到SSRP响应UDP数据包。 为了查出确切问题,请按照下列步骤操作:

  1. 确保您的服务器名称是正确的,例如,在名称中没有错字。

  2. 确保您的实例名称是正确的,居然有你的目标机器上这样的实例。 (请注意,某些应用程序转换\到)。

  3. 确保服务器计算机是可到达的,例如,DNS可以正确解析,您可以ping服务器(并非总是如此)。

  4. 确保SQL浏览器服务在服务器上运行。

  5. 如果防火墙已在服务器上启用,你需要把sqlbrowser.exe和/或UDP端口1434到异常。

有一个角落的情况下,你检查后步骤1到4它也可能发生时,你可能仍然会失败:

  1. 你的服务器是一个集群或者多宿主机器上命名实例
  2. 你的客户是Vista的机器使用防火墙上。

一个工具,它可以证明是有用的(它确实对我来说)是PortQry会 。 如果此命令返回的信息,它包含你的目标实例,那么你就可以排除方法可行4)和5以上),这意味着你有一个SQL浏览器中运行,你的防火墙没有阻止SQL浏览器的UDP数据包。 在这种情况下,你可以检查其他可能的问题,如不正确的连接字符串。

最后一点,对于同一个问题的错误消息,当您使用SNAC是:SQL本机客户端] SQL网络接口:指定的错误定位服务器/实例[xFFFFFFFF的。

微软最近发布过一个导游的带领下可以作为一个一站式的大部分连接问题疑难解答到SQL Server: 解决网络连接错误,到SQL Server



Answer 3:

答案是错误消息本身:

Error Locating Server/Instance Specified

基本上,你有在连接字符串中错误的服务器\实例,即该位:

Data Source=MSSQL2008-1

是错误的,而不是指向服务器或服务器名不能解析为IP地址。 另外两个posibilities:(1)在机器上运行的SQL Server上的SQL Browser服务没有运行或者(2)Windows防火墙(或其他防火墙)上的SQL框拒绝传入连接。

最后,如果服务器名是正确的,那么它变成一个网络问题,你需要找出为什么客户端无法连接到服务器(这将是更可能比SQL Server配置问题的一个基本的网络问题) 。



Answer 4:

我已经遇到了同样的问题,在我的ASP.NET MVC应用4。

我解决了它的方式,是在DatabaseContext 。 通过传递下来的名称的连接字符串的,我想通过基类的构造使用。

public class DatabaseContext : DbContext
{ 
    public DatabaseContext()
        : base("DefaultConnection") // <-- this is what i added.
    {
    }

    public DbSet<SomeModel> SomeModels { get; set; }
}


Answer 5:

我有同样的错误,我开始了SQL Server Express的服务和它的工作。 希望这可以帮助。



Answer 6:

改变你的。\ SQLEXPRESS,只有添加了SQL Express的名字和我的作品

 <add name="BlogDbContext" connectionString="data source=your name here; initial catalog=CodeFirstDemo; integrated security=True" providerName="System.Data.SqlClient"/>


Answer 7:

转到窗口+ R和键入services.msc,然后按回车。

然后手动启动SQL服务器,如果没有自动启动。

然后尝试登录,它必须是作品。



Answer 8:

最近,我们得到了同样的问题。 我们发现,该代码正在寻找在machine.confg文件名为“LocalSqlServer”这个连接字符串。 我们增加了这条线,它是工作的罚款。



Answer 9:

我有这个问题,并固定它。 这个问题似乎是这样的:

错误:

<add key="aaa" value="server=[abc\SQL2K8];database=bbb;uid=ccc;password=ddd;" />

<add key="aaa" value="server=abc\SQL2K8;database=bbb;uid=ccc;password=ddd;" />


Answer 10:

该问题是由DNS无法解析主机名引起的。 尝试使用IP地址而不是“计算机名”。



Answer 11:

在我的情况下,在web.config文件中的connectionString的名字被拼写错了。 这是实体框架使用数据库上下文的名称。 我猜这就是EF无法匹配与上下文的connectionString名字你的错误。



Answer 12:

在我来说,我搜索服务。 然后发现了一个名为“SQL服务器(SQLEXPRESS)服务,然后右键单击该选择属性,然后点击开始。这是所有。解决了这个问题。



Answer 13:

这个问题花了我大约一天,在我的ASP.NET MVC项目中的一个幸运的是我有问题,我的机器上,而不是在生产环境中,所以比较web.config中我看到并删除错误消失了一个真正的挑战SQL Server错误26连接到这个问题



Answer 14:

同样的问题。 在我来说,我解决了设置项目为“启动项目”。



文章来源: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified