SQL查询日志 查看数据库历史查询记录的方法
SQL查询日志 查看数据库历史查询记录的方法
发布时间:2016-12-28 来源:查字典编辑
摘要:好吧,到数据库日志中去找找,通过时间、关键字批配。。能想到的全用上吧。首先假定你执行过它。没有?好吧,要么它太过简单,要么你太过不简单。。复...

好吧,到数据库日志中去找找,通过时间、关键字批配。。能想到的全用上吧。

首先假定你执行过它。没有?好吧,要么它太过简单,要么你太过不简单。。

复制代码 代码如下:

SELECT TOP 1000

--创建时间

QS.creation_time,

--查询语句

SUBSTRING(ST.text,(QS.statement_start_offset/2)+1,

((CASE QS.statement_end_offset WHEN -1 THEN DATALENGTH(st.text)

ELSE QS.statement_end_offset END - QS.statement_start_offset)/2) + 1

) AS statement_text,

--执行文本

ST.text,

--执行计划

QS.total_worker_time,

QS.last_worker_time,

QS.max_worker_time,

QS.min_worker_time

FROM

sys.dm_exec_query_stats QS

--关键字

CROSS APPLY

sys.dm_exec_sql_text(QS.sql_handle) ST

WHERE

QS.creation_time BETWEEN '2011-10-20 16:00:00' AND '2011-10-20 17:00:00'

AND ST.text LIKE '%%'

ORDER BY

QS.creation_time DESC

这里用到了SQL Server 2005 新增的 cross apply 和 outer apply 联接语句 ,用于交叉联接表值函数(返回表结果集的函数),更重要的是这个函数的参数是另一个表中的字段。

【SQL Server】CROSS APPLY和OUTER APPLY的应用详解

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新mssql数据库学习
热门mssql数据库学习
编程开发子分类