在数据库恢复模型配置为 full
的 SQL Server 2008 中,查询如下:
select col1,col2,col3 from TableName
记录到事务日志文件。
换句话说,我可以使用事务日志备份来确定特定日期在数据库上运行了哪些查询吗?
最佳答案
没有。事务日志根本不记录查询。它仅记录前滚或回滚事务所需的信息(SELECT
查询根本不会生成任何记录的事件)
你可以试试
select top 100 *
from sys.fn_dblog(default,default)
查看记录的内容。
如果您需要此类信息,则需要设置跟踪/扩展事件 session /audit sessio n 记录下来。在大多数环境中,这可能是非常重的。
您可以使用以下内容来大致了解正在运行的即席查询。
SELECT text
from sys.dm_exec_cached_plans
cross apply sys.dm_exec_sql_text(plan_handle)
where objtype='Adhoc'
关于sql-server - 即席只读查询是否存储在 SQL Server 事务日志中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5516358/