標籤:
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
SQL誤操作使用log Explorer撤銷