4

在将数据库恢复模型配置为 的 SQL Server 2008 中full,查询如

从表名中选择 col1、col2、col3

记录到事务日志文件。

换句话说,我可以使用事务日志备份确定特定日期在数据库上运行了哪些查询吗?

4

1 回答 1

5

不,事务日志根本不记录查询。它只记录前滚或回滚事务所需的信息(并且SELECT查询根本不会生成任何记录的活动)

你可以试试

select top 100 *
from sys.fn_dblog(default,default)

看看记录的那种东西。

如果您需要此类信息,则需要设置跟踪/扩展事件会话/审计会话来记录它。在大多数环境中,这可能是令人望而却步的重量。

您可以使用以下内容大致了解正在运行的即席查询。

SELECT text 
from sys.dm_exec_cached_plans
cross apply sys.dm_exec_sql_text(plan_handle)
where objtype='Adhoc'
于 2011-04-01T16:49:49.953 回答