用代码还原数据库,操作界面已经提示完成,但是数据库处一直是“正在还原”

在网上搜的资料并实践,可以用以下代码来还原备份的数据库
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

 

posted @ 2016-06-06 10:24  晴天MM  阅读(1440)  评论(0编辑  收藏  举报