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