【问题标题】:How to prevent SQL Server Express database file auto-creation error?如何防止 SQL Server Express 数据库文件自动创建错误?
【发布时间】:2012-01-10 22:38:14
【问题描述】:

当我尝试在本地 IIS 7 上运行 MVC 2 应用程序时,我不断收到此错误:

由于失败,无法生成 SQL Server 的用户实例 检索用户的本地应用程序数据路径。请确保 用户在计算机上有本地用户配置文件。连接将 关闭。

但是,我没有任何连接到 SQL Server Express,并且当我在本地主机上运行时,我的所有连接字符串都可以正常工作。

出现这种错误的原因是什么?如何预防?

【问题讨论】:

  • 您能向我们展示您的连接字符串之一吗?

标签: asp.net-mvc-2 sql-server-express


【解决方案1】:

ASP.NET 应用程序,包括 MVC 2 应用程序,默认情况下会创建一个 SQL Server 数据库来存储用户和角色。该数据库名为 ASPNETDB 并存储在 App_Data 文件夹中 - 如果尚未存在,ASP.NET 将在应用程序启动时尝试创建它。

要创建/打开此数据库,使用 SQL Server Express 的用户实例。要启动用户实例,必须为当前用户加载用户配置文件(在这种情况下,无论 ASP.NET 应用程序池以何种帐户运行)。但是 IIS 应用程序池的默认配置是不加载用户配置文件以限制启动时间和节省内存。

要为应用程序池启用加载用户配置文件,请转到 IIS 管理器中的配置并在高级选项中查找 加载用户配置文件 开关。将其设置为 true,它应该可以工作。

如果您不想使用用户实例和加载用户配置文件,您可以为应用程序的用户和角色使用不同的数据库。只需再次转到 IIS 管理器,找到您的网站,然后在 ASP.NET 配置中查找 Connection Strings 部分。我打赌你会在那里看到一个名为 LocalSqlServer 的连接字符串。只需更新它以指向您要使用的数据库。您可以查看this thread 了解如何创建新的 ASPNETDB 数据库。如果您在主 SQL Server 实例上创建它,则不需要配置文件来连接 - 只需在 SQL Server 中创建一个登录名并确保您的连接字符串正在使用它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-01
    • 2019-11-05
    • 1970-01-01
    • 2021-12-24
    相关资源
    最近更新 更多