SQL Server中是否有任何视图或系统表返回所有已删除的视图或系统表 特定数据库中的对象(表,视图等)?
答案 0 :(得分:5)
没有
一旦删除它们就会消失。
它们占用的空间最终会被覆盖,有可能在此之前从数据文件的分析或事务日志中获取一些信息,但内置任何内容。
答案 1 :(得分:2)
试试这个:
SELECT
[Operation],
[Transaction Id],
[Transaction SID],
[Transaction Name],
[Begin Time],
[SPID],
[Description]
FROM
fn_dblog (NULL, NULL)
WHERE
[Transaction Name] = 'DROPOBJ'
答案 2 :(得分:2)
为了获得有关DROP事件(以及其他事件)的一些基本信息,我使用了SQL Server的默认跟踪。
请参阅以下文章https://www.simple-talk.com/sql/performance/the-default-trace-in-sql-server---the-power-of-performance-and-security-auditing/部分对象事件。小心WHERE谓词。
注意:提到的脚本不会返回已删除/截断的数据。如果您有备份或数据库处于完全恢复状态,则有一些希望恢复已删除的数据,但您必须提供更多信息。