最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

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

来源:动视网 责编:小采 时间:2020-11-09 09:26:09
文档

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

SQL查询日志查看数据库历史查询记录的方法:在查询分析器中写了半天的SQL,竟忘了保存,坑爹啊~想找回某段时间曾执行过的一段SQL语句,怎么办 好吧,到数据库日志中去找找,通过时间、关键字批配。能想到的全用上吧。 首先假定你执行过它。没有?好吧,要么它太过简单,要么你太过不简单。 代码
推荐度:
导读SQL查询日志查看数据库历史查询记录的方法:在查询分析器中写了半天的SQL,竟忘了保存,坑爹啊~想找回某段时间曾执行过的一段SQL语句,怎么办 好吧,到数据库日志中去找找,通过时间、关键字批配。能想到的全用上吧。 首先假定你执行过它。没有?好吧,要么它太过简单,要么你太过不简单。 代码


在查询分析器中写了半天的SQL,竟忘了保存,坑爹啊~想找回某段时间曾执行过的一段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的应用详解

文档

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

SQL查询日志查看数据库历史查询记录的方法:在查询分析器中写了半天的SQL,竟忘了保存,坑爹啊~想找回某段时间曾执行过的一段SQL语句,怎么办 好吧,到数据库日志中去找找,通过时间、关键字批配。能想到的全用上吧。 首先假定你执行过它。没有?好吧,要么它太过简单,要么你太过不简单。 代码
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top