小编Kei*_*ein的帖子

重新启动后 SQL Server 处于“恢复挂起”状态

我们有很多自己设计的程序可以与我们的 SQL Server (SQL Server 2014 Express) 通信。它们时不时地开始到处爆炸;我们跑来跑去试图找出问题所在,结果打开 SQL Server Management Studio 并发现我们的数据库没有运行。

更具体地说:我们打开 SSMS,展开“数据库”节点并显示:
[DATABASE NAME] (Recovery Pending)

打开 SQL Server 配置管理器并重新启动已关闭数据库的服务可以解决问题,并且一切都会重新开始工作……一段时间。

在遇到此问题几次后,我注意到它仅在我们重新启动服务器后才会发生 - 尽管不是每次都如此。这意味着有时当服务器启动时,SQL 无法执行相同的操作。一个有趣的事实是,我们在 SQL 服务器上运行了多个数据库,并且它们不会一起出现故障;其中一个数据库可能会显示“(Recovery Pending)”,而另一个则可以正常工作。

我一直无法找到解决这个问题的方法——甚至找不到原因。有任何想法吗?

编辑:

在浏览服务器的事件日志后,我发现了这一点:

日志名称:应用程序源:MSSQL$SQLEXPRESS 事件 ID:17204 任务类别:服务器级别:错误关键字:经典描述:FCB::Open 失败:无法打开文件 C:\Program Files\Microsoft SQL Server\MSSQL12.SQLEXPRESS\MSSQL \DATA\DuraDB.mdf 用于文件编号 1。操作系统错误:32(进程无法访问该文件,因为它正被另一个进程使用。)。

什么会导致文件锁定,尤其是在重新启动后?

windows-server-2008-r2 sql-server sql-server-2014

3
推荐指数
1
解决办法
2万
查看次数