我正在使用 Windows 7 Beta 并尝试在本地安装 Web 应用程序。该网站使用Microsoft SQL Server 2005 Express (SQLEXPRESS) 和网站 ~/App_Data 文件夹中的 MDB 文件。我被指示配置 IIS7 以将Classic .NET AppPool用于此 Web 应用程序。
每次加载网站时,我都会收到以下错误:
尝试连接到数据库服务器时出错:由于检索用户的本地应用程序数据路径失败,无法生成 SQL Server 的用户实例。请确保用户在计算机上有本地用户配置文件。连接将被关闭。
互联网上充斥着关于这个主题的文章。流行的智慧似乎是:
- 将 SQL Express 服务配置为使用本地系统帐户。
- 删除以下目录:C:\Users\username\AppData\Microsoft\Microsoft SQL Server Data\SQLEXPRESS
这些修复都没有产生任何影响。我已经修改了几个小时的权限和设置,但无济于事。任何人都可以建议修复或帮助我了解如何获取有关该问题的更多详细信息。
在 Windows 7 下的 IIS 中,选择应用程序池,然后选择“高级设置”。在“流程模型”下找到“加载用户配置文件”并将其设置为 true。
SQL 现在应该在默认的应用程序池帐户下加载。
我在工作站上遇到过同样的问题,但在服务器上从来没有。
这是我不久前在网上找到的一个临时修复程序,它似乎有效:
在查询编辑器中输入:exec sp_configure 'user instances enabled', 1 then: Reconfigure
然后重新启动 SQL Server 数据库。
今天找到了这个链接
在 StackOverflow 上快速搜索https://stackoverflow.com/questions/281500/error-failed-to-generate-a-user-instance-of-sql-server
布莱恩,
为了这一切都有意义,首先查看任务管理器上所有用户的进程列表。
w3wp.exe 是新的 WWW 工作进程。它使用名为 DefaultAppPool 的用户的权限在安全沙箱中运行。
在过去,不是 DefaultAppPool 用户,而是 IUSR 和 IWAM 用户(请参阅IIS 中的 IUSR 和 IWAM 帐户是什么?)。
当您使用 SQL 成员资格提供程序时,w3wp.exe 进程将启动 SQL Server 用户实例并附加到连接字符串中指定的数据库,通常是 App_Data/ASPNETdb.mdf。运行 SQL Server 的用户实例需要本地配置文件,以便临时文件可以存放。
故障排除步骤:
则:重新配置