1. 程式人生 > >如何通過sql日誌,檢視以前執行過的sql語句

如何通過sql日誌,檢視以前執行過的sql語句

使用Log Explorer檢視和恢復資料 

Log Explorer 4.1.可用於SQL Server2005的日誌檢視工具

下載地址:
http://download.csdn.net/source/620271

使用方法:

開啟Log Explorer -> Attach LogFile-> 選擇SQL Server伺服器和登陸方式 -> Connect -> 
在Database Name中選擇資料庫 -> Attach-> 左面對話方塊中Browse->ViewLog-> 就可以看到log記錄了 

想恢復的話: 右鍵Log記錄 Undo Transation
-> 選擇儲存檔名和路徑-> 然後開啟該檔案到查詢分析器裡執行 T-sql程式碼就可以了 例如 如果Log是delete tablewhere ...的話,生成的檔案程式碼就是insert table .... 然後將此insert table的程式碼放到查詢分析器裡執行.就可以恢復資料. ---------------------------------------------------------------------- --如何恢復被delete/update的資料 ----------------------------------------------------------------------
1 連線到被刪除資料庫的Db 開啟log explorer 選擇 "file"->"attach logfile"->選擇伺服器和登陸方式->"connect"->選擇"資料庫"->"attach" 2 檢視日誌 在左面操作專案的對話方塊中選擇"browse"專案->"viewlog"->就可以看到當前的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"選單->選"truncatetable" 操作項->點選"Salvage"->生成語句->查詢分析器裡執行 ---------------------------------------------------------------------- --log explorer使用的幾個問題 ----------------------------------------------------------------------1) 對資料庫做完全/差異/日誌備份 備份時如果選用了刪除事務日誌中不活動的條目 再用Log explorer打試圖看日誌時,提示No log recorders found that match the filter,would you liketoview unfiltered data 選擇yes 就看不到剛才的記錄了 如果不選用了刪除事務日誌中不活動的條目 再用Log explorer打試圖看日誌時,就能看到原來的日誌並做恢復 2) 修改了其中一個表中的部分資料,此時用Log explorer看日誌,可以作日誌恢復 3) 然後恢復備份,(注意:恢復是斷開log explorer與資料庫的連線,或連線到其他資料上, 否則會出現資料庫正在使用無法恢復) 恢復完後,再開啟log explorer 提示No log recorders found that match the filter,would you liketoview unfiltered data,選擇yes 就看不到剛才在2中修改的日誌記錄,所以無法做恢復. 4) 不要用SQL的備份功能備份,搞不好你的日誌就破壞了. 正確的備份方法是: 停止SQL服務,複製資料檔案及日誌檔案進行檔案備份. 然後啟動SQL服務,用log explorer恢復資料