在网上搜的资料并实践,可以用以下代码来还原备份的数据库
RESTORE DATABASE [new_ttttt] --新库名字
FROM DISK = N‘E:\DBBackup\tttt_1\tttt_1_Full_2016_06_04_155332.bak‘ --备份文件
WITH FILE = 1,
MOVE N‘tttt_1‘ TO N‘E:\test\new_tttt.mdf‘, --原始数据库名字 新的附加位置
MOVE N‘tttt_1_log‘ TO N‘E:\test\new_tttt_1.LDF‘, --原始数据库名字 新的附加位置
NORECOVERY,
NOUNLOAD, STATS = 10
GO --完整备份还原
RESTORE DATABASE [new_ttttt] --新库名字
FROM DISK = N‘E:\DBBackup\tttt_1\tttt_1_Diff_2016_06_04_160529.bak‘ --备份文件
WITH FILE = 1,
MOVE N‘tttt_1‘ TO N‘E:\test\new_tttt.mdf‘, --原始数据库名字 新的附加位置
MOVE N‘tttt_1_log‘ TO N‘E:\test\new_tttt_1.LDF‘, --原始数据库名字 新的附加位置
NOUNLOAD, STATS = 10
GO--差异备份还原
但是还原的过程中遇到个问题,就是题目所说的“正在还原”的问题
找了资料实践以后发现可行
具体方法是
原因分析 (转自http://www.111cn.net/database/mssqlserver/50360.htm)
1)管理器不会主动刷新,需要手工刷新一下才能看到最新状态(性能方面的考虑)
2)很少情况下,恢复进程被挂起了。这个时候假设你要恢复并且回到可访问状态,要执行:
RESTORE database dbname with recovery
这使得恢复过程能完全结束。
3)如果你要不断恢复后面的日志文件,的确需要使数据库处于“正在还原状态”,
这通常是执行下面命令:
RESTORE database dbname with norecovery