Asp.net mvc 3 IIS 7无法创建ASPNETDB.MDF

Asp.net mvc 3 IIS 7无法创建ASPNETDB.MDF,asp.net-mvc-3,deployment,iis-7,Asp.net Mvc 3,Deployment,Iis 7,我有一个使用本地SQLServerExpress数据库(又称~/App\u Data/ASPNETDB.MDF)的web应用程序 在Windows 2008 Standard(SP2)上部署到IIS 7.0时,出现以下错误: 运行时发生与网络相关或特定于实例的错误 正在建立与SQL Server的连接。找不到服务器,或者 无法访问。验证实例名称是否正确,以及 SQL Server配置为允许远程连接。(提供程序:SQL) 网络接口,错误:26-定位服务器/实例时出错 (指定) 错误消息接着提供了一

我有一个使用本地SQLServerExpress数据库(又称~/App\u Data/ASPNETDB.MDF)的web应用程序

在Windows 2008 Standard(SP2)上部署到IIS 7.0时,出现以下错误:

运行时发生与网络相关或特定于实例的错误 正在建立与SQL Server的连接。找不到服务器,或者 无法访问。验证实例名称是否正确,以及 SQL Server配置为允许远程连接。(提供程序:SQL) 网络接口,错误:26-定位服务器/实例时出错 (指定)

错误消息接着提供了一些建议

SQLExpress数据库文件自动创建错误:

连接字符串指定本地Sql Server Express实例 使用应用程序的App_数据目录中的数据库位置。 提供程序试图自动创建应用程序 服务数据库,因为提供程序确定该数据库 不存在。以下配置要求是必需的 若要成功检查应用程序服务是否存在,请执行以下操作: 数据库并自动创建应用程序服务数据库:

  • 如果应用程序正在Windows 7或Windows Server上运行 2008R2,需要特殊配置步骤才能启用 自动创建提供程序数据库。补充资料 网址为:。如果 应用程序的App_数据目录不存在,web 服务器帐户必须对应用程序的 目录这是必需的,因为web服务器帐户将 如果尚未创建App_数据目录,则自动创建该目录 存在
  • 如果应用程序的App_数据目录已存在,则web 服务器帐户只需要对 应用程序的App_数据目录。这是必要的,因为网络 服务器帐户将尝试验证Sql server Express 数据库已存在于应用程序的App_数据目录中。 正在从web服务器撤消对App_数据目录的读取访问 帐户将阻止提供程序正确确定 Sql Server Express数据库已存在。这将导致错误 当提供程序尝试创建已存在的副本时 现有数据库。需要写访问权限,因为web服务器 创建新数据库时使用帐户的凭据
  • 必须在计算机上安装Sql Server Express
  • web服务器帐户的进程标识必须具有本地用户配置文件。请参阅自述文件以了解有关如何创建 计算机帐户和域帐户的本地用户配置文件
  • 我不知道如何排除
    4.
    (在哪里可以找到“自述文件”?)。但是,其他项目在我看来是正确的

    具体地说

  • 有问题的应用程序池正在作为网络服务运行(不是应用程序池标识)
  • 用户网络服务完全控制App_数据(我是否正确理解,由于App_数据已经创建,它不需要对App_数据的父级进行读/写操作?)
  • 有趣的是,如果我ASPNETDB.MDF和ASPNETDB.LDF从我的开发机器复制到生产应用程序数据,错误会发生变化:

    运行时发生与网络相关或特定于实例的错误 正在建立与SQL Server的连接。找不到服务器,或者 无法访问。验证实例名称是否正确,以及 SQL Server配置为允许远程连接。(提供程序:SQL) 网络接口,错误:26-定位服务器/实例时出错 指定的)说明:测试期间发生未处理的异常 当前web请求的执行。请查看堆栈跟踪 有关错误以及错误来源的详细信息,请参阅 代码

    异常详细信息:System.Data.SqlClient.SqlException:A 建立时发生与网络相关或特定于实例的错误 与SQL Server的连接。找不到服务器或服务器不可用 可到达的验证实例名称是否正确,以及SQL 服务器配置为允许远程连接。(提供程序:SQL) 网络接口,错误:26-定位服务器/实例时出错 (指定)


    我遗漏了什么?

    我以前也犯过同样的错误,问题是我的SQL Server服务被停止了,这很奇怪,但有时它们只是崩溃了,我不得不重新安装SQL Server,因为该服务甚至不允许我启动它,因此,您可能需要对此进行检查。

    我最终将相关表移动到新的SQL Server数据库,因为我无法解决权限问题


    无论如何,对于生产应用程序来说,这是推荐的方法,但不幸的是,要为一个流量非常小的网站部署ASPNETDB.MDF变体(在确定如何配置安全性方面)太难了。

    这一点很好,但对我来说并非如此。该服务正在运行,我还可以附加从SSMS中的开发人员计算机复制的.MDB文件。