
我們的資料庫最近已恢復。這引起了一些真正的悲傷。是否有審核機制來確定誰執行了最近的恢復?謝謝。
答案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 不會在伺服器日誌中記錄誰執行了還原,也不會在事件日誌中報告此情況。