2013-05-06 44 views
0

一位朋友問我是否有辦法查看過去的dml語句,但我不確定如何回答這個問題。他想看到的是最後一組插入語句。這意味着它可能會超過1條記錄。起初我只是想說要檢查最新的身份,但後來他問如果同時進行更多的插入操作。你們能幫我嗎?有沒有我應該使用的DMV,我只是不知道?謝謝。如何查看桌面上過去的DML?

+0

他在尋找[Change Tracking](http://msdn.microsoft.com/zh-cn/library/cc280462(v = sql.105).aspx)和/或[Change Data Capture](http: //msdn.microsoft.com/en-us/library/bb522489(v=sql.105).aspx)? – 2013-05-06 21:06:15

+0

這將有助於解釋*爲什麼*他想看到以前的插入。是否用於審計?能夠在第二個數據庫中製作相同的插入;將它們推回或用於其他目的?每種情況可能有不同的答案。 – Pondlife 2013-05-06 21:18:32

回答

0

如果你沒有準備好這個問題,那麼沒有任何構建可以獲得這些信息。但是,您可以使用第三方日誌讀取工具來恢復(全部)最後一條針對數據庫執行的語句。這要求數據庫處於完全恢復模式。只要您使用此方法記錄備份,您可能會回退。

如果您想爲將來要問的問題做好準備,您可以選擇多種方式。 最明顯的變化數據捕獲。你也可以自己寫一個觸發器來記錄數據的變化。 您也可以運行追蹤SQL Batch Started的追蹤。 最後,您可以使用第三方網絡嗅探器/記錄器來捕獲發送到服務器的所有語句(但這需要不使用連接加密)。