SQL Server中的数据库处于恢复模式

时间:2016-09-16 09:28:35

标签: sql-server database recovery

我在Microsoft SQL Server中有两个数据库(在同一台服务器上)。其中一个可以远程成功访问。但是,其他没有。它在错误日志中返回以下消息:

  

用户' adminUsr'登录失败。原因:无法打开明确指定的数据库' alg_test.alg_test'。 [客户:]

     

错误:18456,严重程度:14,状态:38。

然后我转到Microsoft SQL服务器管理并使用以下命令检查数据库的状态:

*SELECT databasepropertyex('alg_test.alg_test', 'STATUS')*

得到了这个:

RECOVERING

似乎数据库正在不断恢复。我怎样才能解决这个问题?最后远程访问数据库。

3 个答案:

答案 0 :(得分:8)

检查SQL Server错误日志以查看数据库恢复的原因。一个常见原因是使用NORECOVERY选项从完整备份,差异备份和日志备份恢复数据库,但在上次恢复时未指定RECOVERY。在这种情况下,解决方案只是RESTORE <your database> WITH RECOVERY;

另一个常见原因是由于大量数据修改操作而填充了事务日志,并且SQL Server正在将事务回滚以恢复数据库,这可能需要相当长的时间。错误日志将包括恢复进度消息。它比您想要等待的时间更长,从备份恢复数据库可能更加迅速。

答案 1 :(得分:3)

你可以试试这个剧本

RESTORE DATABASE mydatabase WITH RECOVERY

这样就完成了没有备份文件的恢复过程。如果您收到错误消息&#39;正在使用的数据库&#39;。我想你应该试着停止服务,删除数据库,然后用“恢复”恢复它

答案 2 :(得分:0)

尝试这个:

Use [master]
GO

RESTORE DATABASE [DataBaseName] WITH RECOVERY