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