【问题标题】:"Failed to initialize database."“初始化数据库失败。”
【发布时间】:2012-01-12 20:01:46
【问题描述】:

情况 我已经在 Win2k8 下设置了新的 IIS 7.5 服务器。我已将应用程序从共享主机移至此服务器。

问题 我收到此错误:

Failed to initialize database.

痕迹:

[SystemException: Failed to initialize database.]
   SyneoERPWeb.MvcApplication.SetupDatabase() in C:\Users\a\Desktop\src\branches\1.1\SyneoERPWeb\Global.asax.cs:194
   SyneoERPWeb.MvcApplication.Application_Start() in C:\Users\a\Desktop\src\branches\1.1\SyneoERPWeb\Global.asax.cs:136

[HttpException (0x80004005): Failed to initialize database.]
   System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(HttpContext context, HttpApplication app) +9160125
   System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers) +131
   System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context) +194
   System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context) +339
   System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) +253

[HttpException (0x80004005): Failed to initialize database.]
   System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +9079228
   System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +97
   System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +256

我用谷歌搜索并尝试过的:

  1. 向 Windows\Temp 授予对 IIS_IUSER 的完全访问权限
  2. 更改 AppPoll 作为网络服务、本地服务、本地系统运行
  3. 每个 ISS 设置都可能导致(在我看来)这个问题。

我已经尝试过远程 SQL Server (IP 212.122l...) - 它以前与我们的应用程序一起工作

我已经在同一子网(IP 192.168...)中的虚拟机上使用我新安装的 SQL Server 进行了尝试。

两台机器都在响应 ping,但都无法使用该应用程序。我也可以通过 MSSQL Management Studio 连接两者。

所以我的猜测是问题出在应用服务器上。我认为它发生在连接请求之前。这更像是 IIS 中缺少一些驱动程序。这可能吗?

我正在使用:NHibernate、EntyFramewok。

【问题讨论】:

  • 你能告诉我们第一个错误引用的代码吗?当你得到异常时,你想做什么? SQL Server 服务是否正在运行?
  • 你是如何建立这个数据库的?你在使用实体框架吗?
  • 请不要在您的问题前加上“Win2k ASP.NET MVC MSSQL”之类的前缀。这就是标签的用途。
  • 您使用的 sql 用户是否在 Management Studio 中正确连接到数据库?如果可行;运行探查器并查看来自该站点的连接是否正在发生。如果它没有检查连接性。如果这没有发生,请检查数据库中用户对正在运行的任务的权限 - 分析调用并以同一用户身份在数据库中运行它们。
  • 您的连接字符串是否正确? IE 可以使用指定的用户名和密码连接到 SQL。如果它使用集成安全,您的机器帐户是否有权访问 SQL

标签: c# sql-server asp.net-mvc


【解决方案1】:

查看您的 SQL 错误日志和 Windows 应用程序日志。应该为你指明一个方向。

我相信它更多是在数据库方面,而不是您的应用程序。

在 SQL 错误日志中,您将找到所有已启动的数据库以及未启动的数据库。那里应该有关于为什么该数据库无法启动的附加信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-18
    • 2016-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-18
    • 2019-07-04
    • 1970-01-01
    相关资源
    最近更新 更多