1. 程式人生 > >sql server 還原數據庫,數據庫提示正在還原中的處理辦法

sql server 還原數據庫,數據庫提示正在還原中的處理辦法

全備 with 使用 time 差異 backups 屬性 () logs

還原數據庫時,提示還原成功,可是數據庫列表中該數據庫顯示正在還原中:

技術分享

技術分享

執行此命令即可:

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  [email protected],RECOVERY

5、還原數據庫,如果數據庫提示正在還原中,則執行此命令即可。

RESTORE DATABASE AdventureWorks WITH RECOVERY

sql server 還原數據庫,數據庫提示正在還原中的處理辦法