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
