为什么在build立与SQL Server的连接时发生networking相关或特定于实例的错误?
我很沮丧 我有一个网站运行在Visual Web Developer 2008 Express与我的本地数据库,一切都很好。 我也有生产服务器上运行相同的网站。 一切都很好,但今晚我做了一个“重置”生产。
-
我删除了几个表,重新创build它们并插入数据。 一切都很好,在这个时候。
-
我通过FTP删除了所有的文件。
-
我在Visual Studio中使用了“复制网站”模块,并通过FTP将网站复制到网站。
当我login我的网站时,这是我得到的错误:
“/”应用程序中的服务器错误。
与SQL Serverbuild立连接时发生networking相关或特定于实例的错误。 服务器未find或无法访问。 validation实例名称是否正确,并将SQL Serverconfiguration为允许远程连接。 (提供程序:SQLnetworking接口,错误:26 – 错误定位服务器/实例指定)
说明:执行当前Web请求期间发生未处理的exception。 请查看堆栈跟踪,了解有关错误的更多信息以及源代码的来源。
exception详细信息:System.Data.SqlClient.SqlException:build立与SQL Server的连接时发生networking相关或实例特定的错误。 服务器未find或无法访问。 validation实例名称是否正确,并将SQL Serverconfiguration为允许远程连接。 (提供程序:SQLnetworking接口,错误:26 – 错误定位服务器/实例指定)
没有什么改变与SQL连接有关,这是我总是使用的旧代码。 我的网站因为这个而完全瘫痪,内心感到不适,因为我觉得没有什么可以做的。
任何人都可以帮我吗?
当您在服务器上复制新的网站版本时,您的连接string可能被覆盖。 请检查web.config中的连接string,看看它是否有效。
如果从Windows计算机A连接到Windows计算机B(装有SQL Server的服务器)并且出现此错误,则需要执行以下操作:
在机器B上 :
- 打开名为“ SQL Server Browser ”的Windows服务并启动该服务
- 在Windows防火墙中 :
- 启用传入端口UDP 1434(如果机器A上的SQL Server Management Studio正在连接或机器A上的程序正在连接)
- 启用传入端口TCP 1433(如果有telnet连接)
- 在SQL Serverconfigurationpipe理器中 :
- 为端口1433启用TCP / IP协议
我已经解决了这个问题。 这是由于SQL浏览器服务。
解决这个问题的方法之一是,
-
检查在连接string中指定的SQL Server实例名称的拼写。
-
使用SQL Server表面区域configuration工具来启用SQL Server通过TCP或命名pipe道协议接受远程连接。 有关SQL Server表面区域configuration工具的更多信息,请参阅服务和连接的表面区域configuration。
-
确保已经在SQL Server的服务器实例上configuration了防火墙以打开SQL Server的端口和SQL Server Browser端口(UDP 1434)。
-
确保服务器上启动了SQL Server Browser服务。
检查以下内容:
确保您的数据库引擎已configuration为接受远程连接
•开始>所有程序> SQL Server 2005>configuration工具> SQL Server表面区域configuration•单击表面区域configuration服务和连接•select有问题的实例>数据库引擎>远程连接•启用本地和远程连接•重新启动实例
- 检查SQL Server服务帐户
•如果您未使用域帐户作为服务帐户(例如,如果您正在使用NETWORK SERVICE),则可能需要在继续操作之前先切换
- 如果您使用的是已命名的SQL Server实例,请确保在ASweb P.NET应用程序的连接string中使用该实例名称
•通常,指定数据库服务器所需的格式是machinename \ instancename•检查连接string
我有与SQL Server 2008 R2相同的问题,当我检查“SQL Serverconfigurationpipe理器”我的SQL Server实例已停止。 右键单击并启动实例解决了问题。
我们必须在sql serverconfigurationpipe理器中启用TCP / IP属性
如果你的服务器正在工作,并突然开始出错,你的服务器/实例停止,连接设置改变了。
对于SQL Server 2008,这里是如何适应这个:
- 转到
Start > All Programs > SQL Server 2008 > Configuration Tools > SQL Server Configuration Manager > SQL Server Services
。
在这里你会看到所有的实例和他们的状态。 - 您尝试连接的实例的状态可以在此停止。
- 双击实例,然后单击连接。
- 它会连接,现在回去运行你的应用程序,你将能够连接,没有错误。
此解决scheme假定错误不是由连接string中的错误引起的。
我最近有这个问题,最终成为一个端口问题。 我的生产SQL Server被设置为端口1427而不是1433。
只要将连接string更改为
...data source=MySQLServerName,1427;initial catalog=MyDBName...
希望这可以帮助任何人看到这个相同的问题。
我有同样的问题,即在build立连接到SQL Server时发生networking相关或特定于实例的错误。
我正在使用SQL Server 2005(。\ sqlexpress)`工作正常,但突然服务停止,给了我错误。
我解决了这个问题
开始 – >search框 – > Sqlconfigurationpipe理器 – > SQL Server 2005服务“,然后通过右键单击该服务状态来更改您的SQL Server(SQLEXPRESS)状态为正在运行。
原因是SQL SERVER从services.msc停止解决此问题可能会从services.msc启动SQL SERVER
我有同样的问题,但发现这是因为我的数据库引擎服务帐户的密码已过期。 解决scheme是login到该帐户,解决这个问题,然后设置帐户,使密码永不过期。
就我而言,这是一个非常愚蠢的错误。 我正在使用一个库来读取configuration文件中的连接string,而我忘了加斜杠。
例如我有: localhost\sqlexpress
这是读localhostsqlexpress
时,我宁愿有localhost\\sqlexpress
记\
虽然你已经尝试了大量的configuration和点击,仍然面临着popup错误,也许我在这里的答案将指导你杀死错误。
我有同样的错误,事实certificate.NET创build了一个我不知道的本地主机上的数据库。 当我试图让网站生活它并没有创build数据库,所以代码指向一个不存在的数据库。
希望这可能会帮助其他人尝试排除故障。