Answers:
您将找不到在sql上执行的确切脚本。(在事务日志中)
事务日志是一个文件,其中包含有关对数据库进行的每个更改的信息。这包括数据修改(事务),数据库修改和备份/还原事件。
事务日志的主要目的是提供一种在必要时能够将数据库还原到时间点的方法。这可以包括将事务回滚到特定时间,或者从完全备份还原中回滚事务。
了解有关事务日志的更多信息 http://www.sqlservercentral.com/articles/Design+and+Theory/63350/
这是一个脚本,向您显示最近运行的删除查询
SELECT deqs.last_execution_time AS [Time], dest.TEXT AS [Query]
FROM sys.dm_exec_query_stats AS deqs
CROSS APPLY sys.dm_exec_sql_text(deqs.sql_handle) AS dest
where dest.TEXT like '%Delete%from%'
ORDER BY deqs.last_execution_time DESC
FROM
是DELETE
语句中的可选关键字,因此在此不将其包括在匹配谓词中。
delete
和DELETE
,等等。您可能希望使where子句不区分大小写,例如: WHERE dest.text LIKE '%DELETE %' COLLATE Latin1_General_CI_AS
您可以通过在日志中查找LOP_DELETE_ROWS操作来查看已删除的各个行:
select * from fn_dblog(NULL, NULL)
where Operation = 'LOP_DELETE_ROWS'
如果日志被回收(在简单恢复模型中)或被备份截断(在完整或批量恢复模型中),那么您将只能看到日志中仍然可用的日志操作。
了解日志操作非常复杂,您需要了解诸如撤消或补偿操作之类的内容,才能理解可能会遇到的某些日志模式,但是直截了当的已落实DELETE很容易理解。