SQLSERVER 一直处于正在还原的状态
方法一:
原因分析
1)管理器不会主动刷新,需要手工刷新一下才能看到最新状态(性能方面的考虑)
2)很少情况下,恢复进程被挂起了。这个时候假设你要恢复并且回到可访问状态,要执行:
RESTORE database dbname with recovery
这使得恢复过程能完全结束。
我自己就是执行这句SQL语句后问题直接解决了。
3)如果你要不断恢复后面的日志文件,的确需要使数据库处于“正在还原状态”,
这通常是执行下面命令:
RESTORE database dbname with norecovery
下面另外一个方法我没有试,在此仅记录一下。
方法二:
RESTORE DATABASE demo FROM DISK = 'D:/demo.bak' WITH MOVE 'demo' TO 'd:/demo.mdf', MOVE 'demo_log' TO 'd:/demo.ldf', STATS = 10, REPLACE GO
如果不清楚备份文件对应的逻辑文件名,可用如下进行查询:
--返回由备份集内包含的数据库和日志文件列表组成的结果集。
--主要获得逻辑文件名
USE master RESTORE FILELISTONLY <wbr /> <wbr /> FROM DISK = 'D:/T/PDMTraining.bak' Go