一大早發現生產數據庫的基礎資料被刪除。
由于每天都做了差異備份,而且是基礎資料,這樣數據就不會擔心找不回來。
首先通過每天的差異本分文件進行查看數據丟失的大概時間,查到數據丟失是在17晚上備份過后18丟失的。
然后找18號的數據庫執行記錄
貼上語句:
SELECT
ST.text AS '執行的SQL語句',
QS.creation_time AS '執行時間'
FROM sys.dm_exec_query_stats QS
CROSS APPLY
sys.dm_exec_sql_text(QS.sql_handle) ST
where ST.text like '%BIL_SPC%' or ST.text like '%bil_spc%'
ORDER BY
QS.creation_time DESC
找出對應的18號的,查詢出來過后發現有一句delete語句。
然后在測試環境中,用sqlserver? profiler?工具,測試在前段刪除一組數據,追蹤出來的語句中發現沒有寫入系統log的語句。
最后,鍋終于甩出去了,數據被客戶手動刪除了。