“初始化数据库失败。”
Posted
技术标签:
【中文标题】“初始化数据库失败。”【英文标题】:"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
我用谷歌搜索并尝试过的:
-
向 Windows\Temp 授予对 IIS_IUSER 的完全访问权限
更改 AppPoll 作为网络服务、本地服务、本地系统运行
每个 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
【参考方案1】:
查看您的 SQL 错误日志和 Windows 应用程序日志。应该为你指明一个方向。
我相信它更多是在数据库方面,而不是您的应用程序。
在 SQL 错误日志中,您将找到所有已启动的数据库以及未启动的数据库。那里应该有关于为什么该数据库无法启动的附加信息。
【讨论】:
以上是关于“初始化数据库失败。”的主要内容,如果未能解决你的问题,请参考以下文章
RedisRedis 数据库操作 ② ( 数据库操作 | 切换数据库 | 查询当前数据库键个数 | 清空当前数据库 | 清空所有数据库 )