我在Microsoft SQL Server中有两个数据库(在同一台服务器上)。其中一个可以远程成功访问。但是,其他没有。它在错误日志中返回以下消息:
用户' adminUsr'登录失败。原因:无法打开明确指定的数据库' alg_test.alg_test'。 [客户:]
错误:18456,严重程度:14,状态:38。
然后我转到Microsoft SQL服务器管理并使用以下命令检查数据库的状态:
*SELECT databasepropertyex('alg_test.alg_test', 'STATUS')*
得到了这个:
RECOVERING
似乎数据库正在不断恢复。我怎样才能解决这个问题?最后远程访问数据库。
答案 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