sql server怎样用sql profiler捕获带变量值的慢sql

一 新建跟踪

点击工具-SQL Server Profiler:

点击文件-新建跟踪的按钮:

在'事件选择'选项卡只选择如下两项内容(RPC:Completed,SQL:BatchCompleted),把多余的取消勾选:

然后勾选上面截图中右下方的'显示所有列',会出现很多列,勾选重要的列(库名,表名等),示例:

点击上面截图里右下方的'组织列',可以调整这些列的顺序。

点击上面截图里右下方的'列筛选器',可以指定条件:

#这里筛选查询时长大于1秒的慢sql:

也可以点击'TextData'只跟踪某类sql(模糊匹配),示例:

跟踪文本内容包含aa的sql,注意,需要加上%,否则不显示结果:

也可以只跟踪某个数据库的:

也可以只跟踪某个对象的:

都配置好后,点击'运行'按钮。

二 模拟执行大于1秒的慢sql

select * from test2 where id>15000000

三 查看跟踪结果

示例:

带变量值的示例:

四 总结

profiler跟踪某个库,某个表,或者某个sql文本,比较方便,但是较耗性能,平时不建议开启。

在临时审计一个不明操作的时候可以使用(比如,发现一个表被定期truncate,则可以用)。

如果要跟踪慢sql,建议用扩展事件跟踪,方便定位较耗性能的某类慢sql(按总体cpu消耗时长降序排序),详细可参考sql server怎样用扩展事件捕获带变量值的慢sql-CSDN博客

相关推荐
有一个好名字11 小时前
MyBatis-Plus 三种数据库操作方式详解 + 常用方法大全
数据库·mybatis
-Xie-11 小时前
Redis(八)——多线程与单线程
java·数据库·redis
G探险者12 小时前
为什么 VARCHAR(1000) 存不了 1000 个汉字? —— 详解主流数据库“字段长度”的底层差异
数据库·后端·mysql
Albert Tan13 小时前
Oracle EBS R12.2.14 清理FND_LOBS并释放磁盘空间
数据库·oracle
L.EscaRC13 小时前
图数据库Neo4j原理与运用
数据库·oracle·neo4j
知己808013 小时前
docker搭建图数据库neo4j
数据库·docker·neo4j
TDengine (老段)13 小时前
什么是 TDengine IDMP?
大数据·数据库·物联网·时序数据库·tdengine·涛思数据
谅望者13 小时前
数据分析笔记08:Python编程基础-数据类型与变量
数据库·笔记·python·数据分析·概率论
Boilermaker199213 小时前
【MySQL】备份与恢复
数据库·mysql
q***74813 小时前
数据库高安全—openGauss安全整体架构&安全认证
数据库·安全·架构