2010-11-04 320 views
8

我需要從一個SQL Server表中查看已刪除的記錄(行),其實我使用這個命令我如何查看從SQL Server表中刪除的記錄?

DBCC LOG(MyDatabase,-1) 

查看日誌,但我不明白的輸出格式。

存在任何免費的工具,翻譯了SQL Server數據庫的日誌文件或任何文件至極如何解釋該命令顯示的信息DBCC LOG

我正在使用SQL Server 2008的

UPDATE

我的目標不是恢復已刪除的記錄,我只是想看到刪除的記錄或刪除命令執行。

在此先感謝。

+0

我覺得特別難做到這一點我最後一次嘗試。有幾個第三方工具,但我沒有發現它們太好。如果您有日誌,可以將它們還原到上次備份的副本,並將其還原到新的數據庫中? – MrEdmundo 2010-11-04 21:19:09

+0

我是第二個MrEdmundo的經驗。日誌實際上並不意味着被用作備份,或者作爲恢復數據的方式。這是難以置信的破譯,我還沒有找到任何工具,通過篩選做了很好的工作。你最好的選擇是採取最後的備份,恢復它,並找出差異(如果可能的話)。 – 2010-11-04 21:58:47

+0

作爲一個教訓,也許補充說,持有記錄之後的任何DML已經在它們上面運行morge表。例如創建一個觸發任何更新之前捕捉到該行,刪除完成並標記行作爲被刪除或用d或U dml_type_id更新。 – Kuberchaun 2010-11-05 00:37:52

回答

4

您從DBCC LOG獲得的數據爲十六進制格式,您需要將其轉換爲可讀狀態。

您也可以嘗試使用fn_dblog函數來讀取事務日誌,但您會得到幾乎相同的結果,需要解碼。

還有一個第三方工具ApexSQL登錄可以讀取事務日誌並顯示所有記錄的命令,但它是有代價的。

相關問題