按時間點還原SQL數據庫的方法
還原SQL數據庫是每個DBA都需要掌握的,下面為您介紹的方法是按時間點還原SQL數據庫的,希望對您學習還原SQL數據庫方面能夠有所幫助。
特別提醒:在操作前記得把數據庫備份一下。
注:我的最后備份文件是20091029的15點,剛好差距是2天時間。
第一步:備份日志文件,以備還原使用,代碼如下:
BACKUP LOG 數據庫名 TO DISK='備份文件存放路徑(如:D:\test.log)' WITH INIT
第二步:恢復備份的最后一個數據文件備份,記得寫上WITH NORECOVERY,如果是在管理工具中操作還原數據庫的話,請在[還原數據庫]->[選項]->[恢復完成狀態]下選擇[是數據庫不再運行,但能還原其它事務日志]選項,再確定,還原時數據庫可以重命名,代碼操作如下:
RESTORE DATABASE test_bak from disk='F:\databak\test_db_200910291500.BAK' WITH NORECOVERY
第三步:根據日志文件指定恢復的時間點數據,如下:
RESTORE LOG sms_01_bak FROM disk='f:\sms_01.logs' WITH RECOVERY,STOPAT='10/31/2009 15:40'
運行完成后,把數據庫設置成可運行狀態,查詢數據,OK,全部都在,高興啊~~~~~~
如果感覺日志文件太大了,可以清空日志信息,記得把剛才備份的日志文件保存好,
清空日志:
DUMP TRANSACTION sms_01 WITH NO_LOG
【編輯推薦】