关于iis8.5中发布的网站无法连接数据库的解决方案。

发布的网站在浏览时出现如下提示:

“/”应用程序中的服务器错误。


在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: SQL Network Interfaces, error: 50 - 发生了 Local Database Runtime 错误。无法创建自动实例。有关错误详细信息,请参阅 Windows 应用程序事件日志。 )

             说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。            
异常详细信息: System.Data.SqlClient.SqlException: 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: SQL Network Interfaces, error: 50 - 发生了 Local Database Runtime 错误。无法创建自动实例。有关错误详细信息,请参阅 Windows 应用程序事件日志。 )
源错误:

执行当前 Web 请求期间生成了未经处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。                  

堆栈跟踪:

[SqlException (0x80131904): 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: SQL Network Interfaces, error: 50 - 发生了 Local Database Runtime 错误。无法创建自动实例。有关错误详细信息,请参阅 Windows 应用程序事件日志。
)]

 一开始没明白为什么出现这种原因,从sqlserver中寻找了半天,无果。

仔细研究后感觉应该是iis的问题。仔细检查后发现问题所在。

解决方案:

1.打开iis管理器。

2.打开“应用程序池”并左键单击对应的网站应用程序池。

3.在右侧的“编辑应用程序池”里找到“高级设置”

4.在“高级设置”对话窗口中找到“进程模型”中的“加载用户配置文件”

5.将“加载用户配置文件”由“False”改为“True”,确定保存后。在“网站”中点击网站“重新启动”。

再次浏览网站,问题解决。

另,如果遇到“Failed to update database: "APP_DATAASPNETDB.MDF" is read-only . ”错误,是因为App_Data文件夹的权限问题。

1、打开网站数据库所在的目录。

2、添加权限的操作如下:右击App_Data文件夹——属性——安全——编辑——添加——输入一个A,点击检查,选择Authenticated Users,确定,确定——在App_Data安全对话框下勾选:完全控制、修改的权限(基本权限即可)——应用,确定。关闭对话框后,可以重新打开看一下权限看是否设置完成。

3、重新运行IIS,重新启动网站,再浏览网站。

原文地址:https://www.cnblogs.com/chonghanyu/p/4644255.html