LE_420_SqlServer下載,恢復mssql數據庫的工具

這款是經典的工具,凡是使用mssql的人必備。

下載

點擊打開鏈接


Log Explorer主要用於對MSSQLServer的事物分析和數據恢復。你可以瀏覽日誌、導出數據、恢復被修改或者刪除的數據(包括執行過update,delete,drop和truncate語句的表格)。一旦由於系統故障或者人爲因素導致數據丟失,它能夠提供在線快速的數據恢復,最大程度上保證恢復期間的其他事物不間斷執行。

他可以支持SQLServer7.0和SQLServer2000,提取標準數據庫的日誌文件或者備份文件中的信息。

其中提供兩個強大的工具:日誌分析瀏覽,對象恢復。具體功能如下:

l 日誌文件瀏覽

l 數據庫變更審查

l 計劃和授權變更審查

l 將日誌記錄導出到文件或者數據庫表

l 實時監控數據庫事物

l 計算並統計負荷

l 通過有選擇性的取消或者重做事物來恢復數據

l 恢復被截斷或者刪除表中的數據

l 運行SQL腳本

產品

LogExplore包含兩部分

l 客戶端軟件

l 服務器代理

服務器端代理是保存在SQLServer主機中的一個只讀存儲過程,他的作用是接受客戶端請求,讀取在線事物日誌塊並通過網絡傳給客戶端軟件,由客戶端軟件來讀取這些原始的數據塊來完成Log Explore所提供的所有功能。

他依賴來的網絡協議包括:

l Named Pipe:局域網中適用

l Tcp/Ip:廣域網中適用

數據庫相關介紹

事物日誌(Transaction Log)

SQLServer的每個數據庫都包含事物日誌,它以文件的形式存儲,可以記錄數據庫的任何變化。發生故障時SQLServer就是通過它來保證數據的完整性。

操作(Operation)

操作是數據庫中定義的"原子行爲",每個操作都在日誌文件中保存爲一條記錄。它可以是用戶直接輸入的SQL語句,比如標準的insert命令,日誌文件中便會記錄一條操作代碼來標誌這個insert操作。

事物(Transaction)

事物是一系列操作組成的序列。他可以理解爲直觀的不可分割的一筆業務,可以執行成功或者失敗。典型的事物比如由應用程序發出的具有開啓-提交功能的一組SQL語句。不同的事物靠事物Id號(transaction ID)來區分,具有相同ID的事物記錄的日誌也相同。

在線事物日誌(Online Transaction Log)

在線事物日誌是指當前活動數據庫所用的日誌。可以通過如下命令來確定其對應文件

Select * from SYSFILES

他的文件後綴名一般是.LDF

離線事物日誌(Offline Transaction Log)

離線事物日誌是指非活動數據庫所用的日誌。當其數據庫處於關閉(ShutDown)才狀態下可以進行復製備份操作。他的結果同在線事物日誌完全相同。

備份文件

備份文件是保存食物日誌備份的文件,通常管理員通過運行SQL語句或者企業管理器來生成該文件。備份文件的內部結構和事物日誌不同,他採用稱爲MTF的格式來保存數據。一個備份文件可以包含一個日誌的多組備份,甚至包括多個數據庫的混合備份.

設置爲自動收縮

企業管理器--服務器--右鍵數據庫--屬性--選項--選擇"自動收縮"

強烈要求該項不要選中.否則SQLServer將已循環的方式來覆蓋先前的日誌記錄,將會導致LogExplore無法恢復錯誤.

數據恢復介紹

LogExplore允許你恢復應爲誤操作或者程序錯誤而導致的數據丟失或者更改.比如執行update\Delete語句時丟失了where子句,或者錯誤使用了Dts功能.

LogExplore不支持直接修改數據庫.他可以生成事物的逆操作腳本.

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

你可以通過SQL查詢分析器,或者LogExplore的Run SQL Script功能來執行生成腳本.

關於Undo

Undo功能可以逆操作一組指定的用戶事物。包括insert,delete和update,其侷限性如下:

l 事物類別:LogExplore只能undo用戶事物。用戶事物是指在用戶表上定義的事物,不支持系統表的更新恢復。同時,他也不支持計劃變更的回滾。

l Blob類型:包括text,ntext,image類型。LogExplore只支持這些類型的insert和delete恢復,不支持update語句恢復。

關於redo

Redo功能可以再次運行一組指定事物。它可以在以下情況中用到:

丟失數據庫而且沒有任何備份文件。

l 如果原始日誌文件沒有丟失可以通過Redo來實現恢復。

l 通過完整備份文件來把數據庫恢復到某指定時間點,再通過redo功能完整恢復。它可以重放Create Table和Create Index命令,來重新生成被刪掉的表,同時也受blob字段的限制。

拯救Dropped/Truncate命令導致的數據丟失

執行Drop Table和Truncate Table命令雖然會被SQLServer記錄到日誌文件中,但是並不記錄被刪除的數據。你可以使用LogExplore提供的功能來恢復這些數據。LogExplore提供兩種機制來恢復被Drop或者Truncate的數據。

1、如果你有備份文件可以直接通過備份文件恢復。

2、通過LogExplore提供的方法來恢復。

當執行如上命令時,SQLServer會將保存數據的頁面放入空閒頁面列表中。如果此頁沒有被再次使用則將一直保存原始數據。恢復時,LogExplore將從空閒頁面列表中搜尋沒有被再次使用的頁面,然後生成一個SQL腳本來從這些頁面重組原始數據。LogExplore可以確定被刪掉的原始數據行,並在完成時顯示原始行數和實際恢復的行數,由此可以斷定是否全部恢復。

SQL逆操作

1、Insert--Delete

2、Delete--Insert

3、Update

注意:如果你選中了'Do not restore column values that have been changed by subsequent modifications'項,只對事物1逆轉將不會產生任何結果。

自增序列(IDENTITY Property)

如果被刪除數據與有IDENTITY Property屬性,恢復時LogExlpore可以通過SET IDENTITY_INSERT ON 命令來對插入的數據設置Identity屬性,並保留原數據不變,也可以對該列付與新值。

數據導出:

瀏覽日誌時可將數據導出爲xml,html,或者其他有分隔符的文件.也可以指定到一個SQL的表中.

操作指南

Attaching to a Log:在所有操作之前必須添加日誌文件,

l 可以用普通的SQL登錄方式添加在線日誌(Online Log),

l 直接選擇LDF文件來添加離線日誌(OffLine Log)

l 添加備份文件

登錄之後界

功能介紹:

1、 Log Summary

日誌文件的概要信息。

2、 Load Analysis

列出指定時間範圍內的一些事物,用戶和表載入的概要信息。

3、 Filter Log Record

日誌過濾設置。支持過濾條件包括:時間、操作類型、表、用戶、SPID、搜索深度、Dropped表項以及登錄設置和應用程序設置

4、Browse

日誌瀏覽,核心模塊。

1、 View Log功能:

列表如圖,可以用TransID來區分事物並用不同顏色標識。工具欄的按鈕是一些基本查詢操作。鼠標右鍵彈出菜單中有Undo Transaction和UndoOperation可以恢復黑色箭頭選中的事物或者操作項。

Real-Time Monitor:

實時監控事物日誌,通過輪詢來實現。可以暫停或者停止監控,可以更改輪詢週期。

相關DML語言和DDL語言可以在Row Revision History、Row Transaction History以及View DDL Commands來查詢。

2、 Export Log Report

包括Export To SQL和Export To File,根據嚮導即可完成。

3、 其餘菜單:Undo,Redo,Salvage Dropped/Truncated data,Restore 以及Run SQL Script前面已經敘述過,可以根據其嚮導完成。

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中修改的日誌記錄,所以無法做恢復.

3)

不要用SQL的備份功能備份,搞不好你的日誌就破壞了.

正確的備份方法是:

停止SQL服務,複製數據文件及日誌文件進行文件備份.

然後啓動SQL服務,用log explorer恢復數據


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章