sql server 还原数据库,数据库提示正在还原中的处理办法

Posted 有梦就能实现

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql server 还原数据库,数据库提示正在还原中的处理办法相关的知识,希望对你有一定的参考价值。

 

 

还原数据库时,提示还原成功,可是数据库列表中该数据库显示正在还原中:

执行此命令即可:

RESTORE DATABASE EnterPriseBuilding WITH RECOVERY

 

了解SQLServer脚本之数据库误删数据找回:http://www.cnblogs.com/Leo_wl/p/3614804.html

1. 至少有一个误删除之前的数据库完全备份。

2. 数据库的恢复模式(Recovery mode)是“完整(Full)”。

一、还原需要的条件设置

        使用命令,是通过sqlserver的事务日志以及一个误删除前的数据库的完整备份进行还原,所以在sqlserver2012的维护计划向导中,要建立完整备份,差异备份和事务日志,具体如下

以及在数据库属性,选项设置中,设置为完整备份,具体如下图

做好如上两个设置,数据库误删后找回数据就会非常轻松,现在说一下如何还原sqlserver数据到故障点。

二、还原命令

还原主要分为四步走:

1、出现故障后,首先执行备份事务日志命令,这里以AdventureWorks作为数据库名。命令如下:

BACKUP LOG AdventureWorks TO DISK = \'C:\\SQLServerBackups\\AdventureWorks_transcationlog.bak\' 
   WITH NORECOVERY;

2、从完整备份还原数据

RESTORE  DATABASE [QASupervision] FROM DISK=\'M:\\Database\\OA\\AdventureWorks_Fullbackup_2014_03_18_010002_0155764.bak\' 
WITH  NORECOVERY, REPLACE 

3、从差异备份还原数据

RESTORE DATABASE [QASupervision] FROM DISK=\'M:\\Database\\OA\\AdventureWorks_diffbackup_2014_03_18_020002_0155764.bak\' WITH NORECOVERY, REPLACE 

4、从事务日志还原数据,还原到某个时间点之前

DECLARE @dt datetime   
SELECT @dt=DATEADD(HOUR,-16,GETDATE())   
select @dt
RESTORE LOG [QASupervision] FROM DISK=\'C:\\SQLServerBackups\\AdventureWorks_transcationlog.bak\'  WITH  STOPAT=@dt,RECOVERY

5、还原数据库,如果数据库提示正在还原中,则执行此命令即可。

RESTORE DATABASE AdventureWorks WITH RECOVERY

 

此随笔或为自己所写、或为转载于网络。仅用于个人收集及备忘。

以上是关于sql server 还原数据库,数据库提示正在还原中的处理办法的主要内容,如果未能解决你的问题,请参考以下文章

sql server 还原数据库时提示数据库正在使用,无法进行操作的解决方法

Sql server 2014 数据库还原奇异现象

SQL Server 2000还原备份&附加mdf 提示检测到数据库一致性问题。

sql server总是提示"在现有数据库上强制还原"

sql server 2008还原bak文件时提示磁盘空间不足

sql2005用查询分析器还原数据库时出错提示超时