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博客

相关推荐
lusklusklusk1 小时前
Oracle数据库基础之2_体系结构
数据库·oracle
可乐ea1 小时前
从第一性原理构建 AI Agent:提示词、工具、技能与记忆全解剖
数据库·人工智能·工具调用·ai智能体·提示词工程·agent开发·智能体记忆
东方护航数据恢复(深圳)1 小时前
医疗案例:HIS/PACS 数据库页损坏修复,医院不停诊完成恢复【东方护航数据恢复深圳店】
数据库·数据恢复·医疗·二次开盘
lusklusklusk2 小时前
Oracle数据库基础之11_Duplicate和Dataguard和RAC
数据库·oracle
PHP实战开发录4 小时前
MySQL字段加索引为什么没变快
数据库·mysql·php·开发
红红谈说5 小时前
标签化推送与已读统计怎么做?一次通知链路的工程复盘
数据库·消息推送·数字乡村·集合运算·已读回执·标签体系·写入放大
Shadow(⊙o⊙)5 小时前
MySQL索引
数据库·mysql
xuefuhe6 小时前
SQL Server:replication添加新的article而无需对旧的重新生成snapshot
sqlserver
倔强的石头_7 小时前
多环境配置治理:开发、测试、生产连接信息如何隔离
数据库
杨云龙UP7 小时前
一次数据库查询缓慢故障复盘:大表数据增长、SQL全表扫描导致系统响应异常
linux·运维·服务器·数据库·sql·mysql