如何解决错误26:错误定位生产环境中指定的服务器/实例?

时间:2012-11-12 08:40:24

标签: .net sql-server-2012

我在生产环境中有一个奇怪的错误,但不是在开发环境中。 在我的开发环境中,使用Visual Studio 2010,我可以毫无问题地连接到Sql Server 2012。 当我将Windows窗体应用程序复制到同一网络中的其他PC时,我收到“错误26:找到指定的服务器/实例时出错”。

使用Sql Server 2008的旧数据库实例,同样的应用程序运行良好。 我不知道该检查什么以及从哪里开始!

编辑:另一个奇怪的行为是,如果我使用像这样的代码

它会很好
conn.Open()

dr = cmd.ExecuteReader()

但如果我打开一个带有datagridview,数据集和BindingSource的表单,请停止工作!

1 个答案:

答案 0 :(得分:6)

this博文有关于错误26的详细信息。

来自帖子:

  

总之,我们收到此错误消息的原因是客户端   stack无法从SQL Browser接收SSRP响应UDP数据包。   很容易孤立这个问题。以下是步骤:

     
      
  1. 确保您的服务器名称正确无误,例如名称上没有拼写错误。
  2.   
  3. 确保您的实例名称正确,并且目标计算机上确实存在此类实例。 [更新:某些应用程序将\转换为\。如果您不确定您的应用程序,请在连接字符串中尝试Server \ Instance和Server \\ Instance]
  4.   
  5. 确保服务器计算机可以访问,例如,DNS可以正确解析,您可以ping服务器(并非总是如此)。
  6.   
  7. 确保SQL Browser服务正在服务器上运行。
  8.   
  9. 如果服务器上启用了防火墙,则需要将sqlbrowser.exe和/或UDP端口1434置于异常状态。
  10.         

    完成这些步骤后,您不应该看到此错误消息   了。您可能仍然无法连接SQL服务器,但错误   消息应该是不同的,你现在有一个不同的问题。   [更新:如果仍然失败,您可以用。替换server \ instance   tcp:server \ instance和/或np:server \ instance,看看是否成功   使用TCP或NP协议。这样,您可以隔离问题a   一点。 ]