本地数据库错误。在建立与SQL Server的连接时出现了与网络相关或特定实例相关的错误。

3
我有一个网站,使用Visual Studio 2015和本地数据库运行,一切都很好。但是生产服务器无法工作。
连接字符串为:
"Data Source = (LocalDB)\MSSQLLocalDB; AttachDbFilename =|DataDirectory|\SeedDb.mdf; Integrated Security=True;MultipleActiveResultSets=True;". 

我尝试了连接字符串。
"Data Source = (LocalDB)\V11.00; AttachDbFilename =|DataDirectory|\SeedDb.mdf; Integrated Security=True;MultipleActiveResultSets=True;".

完整的错误信息如下:
服务器应用程序中的服务器错误。 建立与 SQL Server 的连接时发生了与网络相关或特定于实例的错误。未找到服务器或服务器无法访问。请验证实例名称是否正确,并确认 SQL Server 已配置为允许远程连接。(提供程序:SQL Network Interfaces,错误:50 - 发生本地数据库运行时错误。指定的 LocalDB 实例不存在。) 说明:当前 Web 请求执行期间发生了一个未经处理的异常。请查看堆栈跟踪以获取有关错误的更多信息以及代码的起源。
异常详细信息:System.Data.SqlClient.SqlException:建立与 SQL Server 的连接时发生了与网络相关或特定于实例的错误。未找到服务器或服务器无法访问。请验证实例名称是否正确,并确认 SQL Server 已配置为允许远程连接。(提供程序:SQL Network Interfaces,错误:50 - 发生本地数据库运行时错误。指定的 LocalDB 实例不存在。
如何解决这个问题?

问题在于数据库引擎需要安装在服务器上,因为VS2015会为您安装所有相关的工具和驱动程序以进行开发,但是相同的引擎未安装在服务器上。您需要下载以下内容:http://blogs.msdn.com/b/gaurav/archive/2013/12/21/deployment-of-sql-express-localdb-on-iis.aspx,以及https://dev59.com/KGAg5IYBdhLWcg3wrMh4 - Ahmed ilyas
对于代码迁移(update-database等),请参见此答案 - Marc.2377
2个回答

1

由于您更改了环境,例如从本地笔记本电脑到生产服务器

对于生产环境,请检查并更新您的数据目录。

"Data Source =(LocalDB)\ MSSQLLocalDB; AttachDbFilename = | DataDirectory | \ SeedDb.mdf; Integrated Security = True; MultipleActiveResultSets = True;".

要调试,请硬编码目录路径,如果可以工作,则可以设置= | DataDirectory | \ SeedDb.mdf 的环境变量。然后在安全性下检查服务器/角色文件夹(右键单击文件夹)


-2

你的初始化字符串应该指向生产SQL服务器的实例名称。

data source=SQLSERVER\INSTANCE;initial catalog=databaseName

SQL Server可以安装为默认实例。在这种情况下,应省略实例名称。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接