为什么在 Build 与SQL Server的连接时会发生与网络相关或特定于实例的错误?

我非常沮丧 . 我有一个使用我的本地数据库在Visual Web Developer 2008 Express上运行的网站,一切都很好 . 我也在 生产环境 服务器上运行相同的网站 . 一切都很好,但今晚我对 生产环境 进行了“重置” .

  • 我删除了几个表,重新创建它们并插入数据 . 一切都还好 .

  • 我通过FTP删除了所有文件 .

  • 我在visual studio中使用了名为“复制网站”的模块,并通过FTP将网站复制到网站 .

当我登录我的网站时,这是我得到的错误:

'/'应用程序中的服务器错误 . Build 与SQL Server的连接时发生与网络相关或特定于实例的错误 . 服务器未找到或无法访问 . 验证实例名称是否正确,以及SQL Server是否配置为允许远程连接 . (提供程序:SQL网络接口,错误:26 - 查找指定的服务器/实例时出错)说明:执行当前Web请求期间发生未处理的异常 . 请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息 . 异常详细信息:System.Data.SqlClient.SqlException: Build 与SQL Server的连接时发生与网络相关或特定于实例的错误 . 服务器未找到或无法访问 . 验证实例名称是否正确,以及SQL Server是否配置为允许远程连接 . (提供程序:SQL网络接口,错误:26 - 查找指定的服务器/实例时出错)


没有任何与SQL连接相关的更改,这是我一直使用的OLD代码 . 由于这个原因我的网站完全瘫痪,我内心感到恶心,因为我觉得我无能为力 .

有人可以帮我吗?

回答(14)

2 years ago

在服务器上复制新网站版本时,可能会覆盖您的连接字符串 . 请检查web.config中的连接字符串,看它是否有效 .

2 years ago

如果从Windows机器A连接到Windows机器B(安装了SQL Server的服务器)并且出现此错误,则需要执行以下操作:

Machine B

  • 打开名为“SQL Server Browser”的Windows服务并启动服务
    Windows Services

  • 在Windows防火墙中:

  • 启用传入端口UDP 1434(如果机器A上的SQL Server Management Studio正在连接或机器A上的程序正在连接)

  • 启用传入端口TCP 1433(如果存在telnet连接)
    Windows firewall

  • 在SQL Server配置管理器中:

  • 为端口1433启用TCP / IP协议
    Sql Server Configuration Manager

2 years ago

我已经解决了这个问题 . 这是由于SQL浏览器服务 .

这个问题的解决方案是以下之一 -

  • 检查连接字符串中指定的SQL Server实例名称的拼写 .

  • 使用SQL Server外围应用配置工具使SQL Server能够接受通过TCP或命名管道协议的远程连接 . 有关SQL Server表面区域配置工具的详细信息,请参阅服务和连接的表面区域配置 .

  • 确保已在SQL Server的服务器实例上配置防火墙,以打开SQL Server和SQL Server Browser端口(UDP 1434)的端口 .

  • 确保在服务器上启动了SQL Server Browser服务 .

链接 - http://www.microsoft.com/products/ee/transform.aspx?ProdName=Microsoft+SQL+Server&EvtSrc=MSSQLServer&EvtID=-1

2 years ago

检查以下内容:

确保将数据库引擎配置为接受远程连接

•开始>所有程序> SQL Server 2005>配置工具> SQL Server表面区域配置•单击服务和连接的表面区域配置•选择出现问题的实例>数据库引擎>远程连接•启用本地和远程连接•重启实例

  • 检查SQL Server服务帐户

•如果您未使用域帐户作为服务帐户(例如,如果您使用的是NETWORK SERVICE),则可能需要先切换此帐户才能继续

  • 如果您使用的是命名SQL Server实例,请确保在ASweb P.NET应用程序的连接字符串中使用该实例名称

•通常,指定数据库服务器所需的格式为machinename \ instancename•也请检查连接字符串

2 years ago

我和SQL Server 2008 R2有同样的问题选中“SQL Server配置管理器”我的SQL Server实例已停止 . 右键单击并启动实例解决了该问题 .

2 years ago

我们必须在sql server configuration manager中启用TCP / IP属性

2 years ago

如果您的服务器正常工作并突然启动错误,则您的服务器/实例已停止,并且连接设置已以某种方式更改 .

对于SQL Server 2008,您可以使用以下方法:

  • 转到 Start > All Programs > SQL Server 2008 > Configuration Tools > SQL Server Configuration Manager > SQL Server Services .
    在这里,您将看到所有实例及其状态 .

  • 您尝试连接的实例的状态可以在此处停止 .

  • 双击实例,然后单击“连接” .

  • 它将连接,现在返回并运行您的应用程序,您将能够连接没有错误 .

此解决方案假定错误不是由连接字符串中的错误引起的 .

2 years ago

我最近有这个问题,它最终成为一个端口问题 . 我的 生产环境 SQL Server设置为端口1427而不是1433 .

只需更改连接字符串即可

...data source=MySQLServerName,1427;initial catalog=MyDBName...

希望这有助于任何可能看到同样问题的人 .

2 years ago

我遇到了同样的问题,即在 Build 与SQL Server的连接时发生了与网络相关或特定于实例的错误 .

我使用SQL Server 2005( . \ sqlexpress)`并且工作正常,但突然服务停止并给了我错误 .

我解决了这个问题,

开始 - >搜索框 - > Sql配置管理器 - > SQL Server 2005服务>,只需右键单击该服务即可将您的SQL Server(SQLEXPRESS)状态更改为正在运行 .

2 years ago

原因是SQL SERVER从services.msc停止,这个问题的解决方案可能是从services.msc启动SQL SERVER

enter image description here

2 years ago

我遇到了同样的问题,但发现这是因为我的数据库引擎服务帐户的密码已过期 . 解决方案是登录该帐户,修复此问题,然后设置帐户,以便密码永不过期 .

2 years ago

就我而言,这是一个非常愚蠢的错误 . 我正在使用一个库从配置文件中读取连接字符串,我忘了加倍斜杠 .

例如,我有: localhost\sqlexpress 被读为 localhostsqlexpress ,当我宁愿有 localhost\\sqlexpress 注意 **

2 years ago

虽然你已经尝试了大量的配置和点击并仍然面临弹出错误,但也许我的回答here将指导你杀死错误 .

2 years ago

我有同样的错误,结果是.NET在localhost上创建了一个我不知道的数据库 . 当我试图使网站生效时,它没有创建数据库,因此代码指向一个不存在的数据库 .

希望这可能会帮助其他人尝试进行故障排除 .