在SQL Server 2008中,数据库恢复模型配置为full
,是
从TableName中选择col1,col2,col3
记录到事务日志文件。
换句话说,我可以使用事务日志备份确定特定日期在数据库上运行的查询吗?
答案 0 :(得分:5)
没有。事务日志根本不记录查询。它只记录前滚或回滚事务所需的信息(而SELECT
查询根本不会生成任何记录的活动)
你可以尝试
select top 100 *
from sys.fn_dblog(default,default)
看一下录制的东西。
如果您需要此类信息,则需要设置跟踪/扩展事件会话/ audit sessio n来记录它。在大多数环境中,这可能是非常重的重量。
您可以使用以下内容来大致了解正在运行的adhoc查询。
SELECT text
from sys.dm_exec_cached_plans
cross apply sys.dm_exec_sql_text(plan_handle)
where objtype='Adhoc'