mysql 查看历史日志_SQL查询日志 查看数据库历史查询记录的方法

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

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

复制代码 代码如下:

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的应用详解

时间: 2011-10-24

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值