SQL 2008 R2:如何確定誰恢復了資料庫?

SQL 2008 R2:如何確定誰恢復了資料庫?

我們的資料庫最近已恢復。這引起了一些真正的悲傷。是否有審核機制來確定誰執行了最近的恢復?謝謝。

答案1

我剛剛測試了恢復,它似乎確實記錄在預設追蹤中。這個查詢有什麼啟發嗎? (如果當前運行的追蹤檔案回溯得不夠遠,您可能需要對此進行一些調整,資料夾中可能還會有一些 *.trc 檔案需要調查log

declare @filepath nvarchar(1000)

SELECT @filepath = cast(value as nvarchar(1000)) FROM [fn_trace_getinfo](NULL)
WHERE [property] = 2 and traceid=1

print @filepath

SELECT * 
FROM [fn_trace_gettable](@filepath, DEFAULT)
WHERE TextData LIKE '%RESTORE DATABASE%'
ORDER BY StartTime DESC;

答案2

除非您有第三方備份軟體來完成任務並為您記錄,或者您正在運行 SQL Profiler 跟踪,否則您能做的最好的事情就是查看資料庫的所有者,並希望它不會被任何人更改恢復了它。 SQL 不會在伺服器日誌中記錄誰執行了還原,也不會在事件日誌中報告此情況。

相關內容