程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> sqlserver2008根據日志還原數據庫

sqlserver2008根據日志還原數據庫

編輯:關於SqlServer

       前言:最近項目接近了尾聲,隨之而來的是維護問題,當然涉及到數據庫的數據維護,通過資料和實際操作整理有關誤操作後根據日志還原數據庫。

      前提:①必須有數據庫的完整備份(做個備份計劃);②數據庫恢復模式是完整的(FULL)。

      步驟:①發現誤操作時,記錄下時間點date並備份日志文件(備份腳本:USE master BACKUP LOG 數據庫 TO disk=N'G:cclog.bak' WITH NORECOVERY);

      ②還原數據庫(還原腳本:USE master RESTORE DATABASE 數據庫 FROM DISK = N'G:cc.bak' WITH NORECOVERY, REPLACE);

      ③還原日志(還原日志腳本:USE master RESTORE LOG 數據庫 FROM DISK = N'G:cclog.bak' WITH STOPAT = N'date' , RECOVERY);

      ④以上3步都操作成功後則還原成功,此時查看數據庫發現誤刪除操作的數據又回來了。

      說明:①"NORECOVERY"是用來備份尾日志的,這樣備份日志的時候數據庫處於恢復狀態,別的進程就不能再訪問數據庫,日志就不會再增加了,這樣在還原的時候就可以正常恢復了。還原備份的時候如果想同時還原之後的日志,必須加上Norecovery才可以還原日志。

      ②時間點"date"格式為"M/D/YYYY H:m:s PM",是12小時制,例如:1/23/2014 1:17:10 PM表示2014年1月23號下午1點17分10秒,此時間點只要在誤操作前就可以。

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved