转载地址:https://www.cnblogs.com/shy1766IT/p/5189857.htmlhtml
还原数据库时,提示还原成功,但是数据库列表中该数据库显示正在还原中:sql
执行此命令便可:数据库
RESTORE DATABASE EnterPriseBuilding WITH RECOVERYsqlserver
了解SQLServer脚本之数据库误删数据找回:http://www.cnblogs.com/Leo_wl/p/3614804.htmlui
1. 至少有一个误删除以前的数据库彻底备份。日志
2. 数据库的恢复模式(Recovery mode)是“完整(Full)”。code
1、还原须要的条件设置server
使用命令,是经过sqlserver的事务日志以及一个误删除前的数据库的完整备份进行还原,因此在sqlserver2012的维护计划向导中,要创建完整备份,差别备份和事务日志,具体以下htm
以及在数据库属性,选项设置中,设置为完整备份,具体以下图blog
作好如上两个设置,数据库误删后找回数据就会很是轻松,如今说一下如何还原sqlserver数据到故障点。
2、还原命令
还原主要分为四步走:
一、出现故障后,首先执行备份事务日志命令,这里以AdventureWorks做为数据库名。命令以下:
BACKUP LOG AdventureWorks TO DISK = 'C:\SQLServerBackups\AdventureWorks_transcationlog.bak' WITH NORECOVERY;
二、从完整备份还原数据
RESTORE DATABASE [QASupervision] FROM DISK='M:\Database\OA\AdventureWorks_Fullbackup_2014_03_18_010002_0155764.bak' WITH NORECOVERY, REPLACE
三、从差别备份还原数据
RESTORE DATABASE [QASupervision] FROM DISK='M:\Database\OA\AdventureWorks_diffbackup_2014_03_18_020002_0155764.bak' WITH NORECOVERY, REPLACE
四、从事务日志还原数据,还原到某个时间点以前
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
五、还原数据库,若是数据库提示正在还原中,则执行此命令便可。
RESTORE DATABASE AdventureWorks WITH RECOVERY