错误:26 – 找到指定的服务器/实例时出错。 (无法从我的主机服务器连接到我的本地Db)

我之前已经问过这个问题,但没有任何好的回复,我的问题是我的app_data文件夹中有一个本地数据库(aspnetdb.mdf),这里是web.config中的连接字符串:

 

所以我的网站在我的本地iis服务器上工作正常,但当我把网站放在我的主机服务器上时,我收到此错误消息:建立与SQL Server的连接时发生网络相关或特定于实例的错误。 服务器未找到或无法访问。 validation实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供程序:SQL网络接口,错误:26 – 查找指定的服务器/实例时出错)。

在另一台服务器上我有sql server 2008(接受远程连接,我有相同的实例名称SQLEXPRESS)。 我真的尽我所能,但没有任何好结果。 我非常感谢你的帮助,谢谢。

此格式表示本地连接:

 .\SQLEXPRESS 

从另一台服务器,您需要指定服务器名称或IP地址,例如:

 192.168.1.205\SQLEXPRESS YOURMACHINE\SQLEXPRESS 

您还需要validation该实例是SQL Server Express。 从您的其他几乎相同的问题看起来它是一个默认实例。

您还应该停止使用这种愚蠢的用户实例/ attachDbFilename技术。 正确地将数据库附加到实例,然后使用Initial Catalog=aspnetdb;引用逻辑数据库名称Initial Catalog=aspnetdb; 在您的连接字符串中。 此用户实例function因多种原因而被弃用,这肯定是其中之一。

当然可能存在其他网络问题会阻止这种情况,例如,如果服务器位于不同的域中,则存在防火墙设置干扰等。但是您的其他服务器永远无法使用点来访问您的计算机。服务器名称。

编辑提供婴儿步骤,因为显然我的建议没有被遵循。 假设您已经在新服务器上实际附加了aspnetdb数据库,请试试这个:

  connectionString="data source=192.168.85.124\SQLEXPRESS; Integrated Security=SSPI; Initial Catalog=aspnetdb;" 

如果您不使用SQL Express命名实例,请尝试:

  connectionString="data source=192.168.85.124; Integrated Security=SSPI; Initial Catalog=aspnetdb;" 

对于SQL身份validation,请使用您在Management Studio中使用的相同用户名/密码:

  connectionString="data source=192.168.85.124; User ID=username; Password=password; Initial Catalog=aspnetdb;" 

这是101个问题的故障排除。 如果你仍然无法让这个工作,你可能需要聘请一名顾问10分钟为你解决,因为你无法弄清楚你做了什么,为什么你不能让它工作。