记录一次查询log的经历

一大早发现生产数据库的基础资料被删除。

由于每天都做了差异备份,而且是基础资料,这样数据就不会担心找不回来。

首先通过每天的差异本分文件进行查看数据丢失的大概时间,查到数据丢失是在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的语句。

最后,锅终于甩出去了,数据被客户手动删除了。

猜你喜欢

转载自www.cnblogs.com/salv/p/10151303.html