還原資料庫,資料庫提示正在還原中的處理方法

一个新手
發布: 2018-05-18 15:44:28
原創
5113 人瀏覽過

還原資料庫時,提示還原成功,可是資料庫清單中該資料庫顯示正在還原中:

執行此指令即可:

RESTORE DATABASE EnterPriseBuilding WITH RECOVERY

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
登入後複製

以上是還原資料庫,資料庫提示正在還原中的處理方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!