使用Log Explorer查看和恢復數據 Log Explorer 4.1.可用於SQL Server2005的日志查看工具 下載地址: http://download.csdn.net/source/620271 使用方法: 打開Log Explorer -> Attach Log File -> 選擇SQL Server服務器和登陸方式 -> Connect -> 在Database Name中選擇數據庫 -> Attach-> 左面對話框中Browse-> View Log-> 就可以看到log記錄了 想恢復的話: 右鍵Log記錄 Undo Transation-> 選擇保存文件名和路徑-> 然后打開該文件到查詢分析器里執行 T-sql代碼就可以了 例如 如果Log是delete table where ...的話,生成的文件代碼就是insert table .... 然后將此insert table的代碼放到查詢分析器里執行.就可以恢復數據. ---------------------------------------------------------------------- --如何恢復被delete/update的數據 ---------------------------------------------------------------------- 1 連接到被刪除數據庫的Db 打開log explorer 選擇 "file"->"attach log file"->選擇服務器和登陸方式->"connect"->選擇"數據庫"->"attach" 2 查看日志 在左面操作項目的對話框中選擇"browse"項目->"view log"->就可以看到當前的Log記錄了 3 恢復數據 右鍵某一條log記錄,選擇"undo transation"->"選擇保存文件名和路徑"->然后打開該文件到查詢分析器里執行 T-sql代碼就可以了 例如: 如果log是delete table where ...的話,生成的文件代碼就是insert table .... ---------------------------------------------------------------------- --Log Explorer恢復被drop table和truncate table后的數據 ---------------------------------------------------------------------- 1 連接到被刪除數據庫的Db 操作同上 2 恢復方法 1) 選擇"salvaage dropped/truncate"菜單,在右邊的對話框中選擇表名,和droped/trucated的日期, File Name中選擇生成insert語句腳步的存放位置,condition選擇是droped還是truncated, 最后點擊"create" 就會生成insert語句,把生成的語句到查詢分析器里面執行一下就可以了 2) 選擇"ViewDDL Commands"菜單->選"truncate table" 操作項->點擊"Salvage"->生成語句->查詢分析器里執行 ---------------------------------------------------------------------- --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中修改的日志記錄,所以無法做恢復. 4) 不要用SQL的備份功能備份,搞不好你的日志就破壞了. 正確的備份方法是: 停止SQL服務,復制數據文件及日志文件進行文件備份. 然后啟動SQL服務,用log explorer恢復數據