SQL誤操作使用log Explorer撤銷


1,下載安裝log Explorer

 

2.打開log explorer file=>attach log file->選擇服務器和登陸方式->connect->
選擇數據庫->attach->左面對話框中browse->view log->就可以看到log記錄了
想恢復的話: 右鍵log記錄 undo transation->選擇保存文件名和路徑->然后打開該文件到查詢分析器里執行
T-sql代碼就可以。。。

例如 如果log是delete table where ...的話,生成的文件代碼就是insert table ....

右鍵log記錄 undo transation->選擇保存文件名和路徑->然后打開該文件到查詢分析器里執行T-sql代碼。。。

log explorer使用的一個問題

1)對數據庫做了完全 差異 和日志備份
備份時選用了刪除事務日志中不活動的條目
再用Log explorer打試圖看日志時
提示No log recorders found that match the filter,would you like to view unfiltered data
選擇yes 就看不到剛才的記錄了


如果不選用了刪除事務日志中不活動的條目
再用Log explorer打試圖看日志時,就能看到原來的日志

2)修改了其中一個表中的部分數據,此時用Log explorer看日志,可以作日志恢復

3)然后恢復備份,(注意:恢復是斷開log explorer與數據庫的連接,或連接到其他數據上,
否則會出現數據庫正在使用無法恢復)
恢復完后,再打開log explorer 提示No log recorders found that match the filter,would you like to view unfiltered data
選擇yes 就看不到剛才在2中修改的日志記錄,所以無法做恢復.

--------------------------------------------------------------------------------
系統中有一個數據庫DB1,系統正在使用的過程中,不小心刪除了某表T1的數據
現我可以按照用完整備份文件加日志備份時間點TIME1恢復的方法來恢復該數據庫

但問題出在該數據庫一直還必須在使用中,所以除了你刪除了數據的TA表外,其它的
表的數據你不能只是恢復到錯誤時間點TIME1處,因為,TIME1以后也有數據變化

解決這個問題有兩個方法
1:用LOG EXEPLORE 可以輕松搞定

2:先建立一個數據庫DB2,將完整備份文件恢復到DB2中,再用DB2中的T1數據來更新
   DB1中的T1數據即可.


--查看備份信息
RESTORE FILELISTONLY FROM DISK ='C:\Program Files\Microsoft SQL Server\MSSQL\BACKUP\db1_backup'

--還原舊的備份 
RESTORE DATABASE db2 FROM DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL\BACKUP\db1_backup' with replace,norecovery,
move 'db1_Data' to 'C:\Program Files\Microsoft SQL Server\MSSQL\data\db2_data.mdf',
 move 'db1_Log' to 'C:\Program Files\Microsoft SQL Server\MSSQL\data\db2_log.ldf' 

--還原數據日志到時間點
restore log  db2  from disk='db_log_backup'  with stopat='2003/4/22 9:57'

 

來源http://bbs.csdn.net/topics/300029748


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM